QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#472003 | #6407. Classical A+B Problem | UESTC_xxx# | WA | 0ms | 3748kb | C++14 | 1.8kb | 2024-07-11 13:00:25 | 2024-07-11 13:00:26 |
Judging History
answer
#include<iostream>
#include<cstdio>
#include<vector>
#include<cstring>
using namespace std;
const int mod=998244353;
const int maxn=1e5+5;
inline int Jia(int x){return x>=mod?x-mod:x;}
inline int read(){
char ch=getchar();
int ty=1,k=0;
while(ch<'0'||ch>'9'){
if(ch=='-')ty=-1;
ch=getchar();
}
while(ch<='9'&&ch>='0'){
k=k*10+ch-'0';
ch=getchar();
}
return ty*k;
}
int n,len,a[4005],b[4005],c[4005];
char s[4005];
bool Check1(){
for(int i=1;i<len;++i)if(s[i]!=s[i+1])return false;
return true;
}
bool Check2(){
int flag=0;
for(int i=1;i<=len;++i){
c[i]=0;
a[i]=s[i]-'0';
if(a[i]>b[i])flag=1;
if(a[i]<b[i]&&!flag)return false;
}
// for(int i=1;i<=len;++i)cout<<a[i];cout<<'\n';
// for(int i=1;i<=len;++i)cout<<b[i];cout<<'\n';
for(int i=len;i>=1;--i){
if(a[i]<b[i]){
--a[i-1];
a[i]+=10;
}
c[i]=a[i]-b[i];
}
// for(int i=1;i<=len;++i)cout<<c[i];cout<<'\n';
for(int i=1;i<=len;++i){
if(c[i]!=0){
for(int j=i;j<len;++j){
if(c[j]!=c[j+1])return false;
}
if(b[1]!=0)cout<<b[1];
for(int j=2;j<=len;++j)cout<<b[j];cout<<' ';
for(int j=i;j<=len;++j)cout<<c[j];cout<<'\n';
return true;
}
}
return false;
}
void Solve(){
scanf("%s",s+1);
len=strlen(s+1);
if(len==1){
cout<<s[1]-'0'-1<<' '<<1<<'\n';
return;
}
if(Check1()&&s[1]!='1'){
for(int i=1;i<=len;++i)cout<<s[i]-'0'-1;cout<<' ';
for(int i=1;i<=len;++i)cout<<1;cout<<'\n';
return;
}
if(s[1]=='1'){
// int k=(s[1]-'0')*10+(s[2]-'0');
b[1]=0;
for(int i=9;i>=1;--i){
for(int j=2;j<=len;++j){
b[j]=i;
}
if(Check2())return;
}
// cout<<"FASF\n";
if(Check2())return;
}
else {
for(int j=s[1]-'0';j>=1;--j){
for(int i=1;i<=len;++i)b[i]=j;
if(Check2())return;
}
}
}
int main(){
int T=read();
while(T--)Solve();
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3684kb
input:
6 2 786 1332 89110 2333333 10000000000000000000000000001
output:
1 1 777 9 999 333 88888 222 2222222 111111 9999999999999999999999999999 2
result:
ok ok (6 test cases)
Test #2:
score: -100
Wrong Answer
time: 0ms
memory: 3748kb
input:
100 854 77777777781111111111111111110 44444450 11111111111111333 2310 5 333333333333333333333343332 888999 10 11113333 335 77779 88888888888888888888889111111111111111111110 55555555555555777777 72222222222222222222221 666 5777 1111555555 444444444544444444443 88888888888891111111111110 673332 97 77...
output:
777 77 77777777777777777777777777777 3333333333333333333 44444444 6 2222 88 4 1 333333333333333333333333333 9999 888888 111 9 1 333 2 77777 2 88888888888888888888888888888888888888888888 222222222222222222222 55555555555555555555 222222 66666666666666666666666 5555555555555555555555 555 111 5555 222...
result:
wrong answer x + y != n (test case 4)