QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#560255#6407. Classical A+B ProblemMoyunAllgorithm#WA 0ms3920kbC++141.2kb2024-09-12 14:37:032024-09-12 14:37:04

Judging History

你现在查看的是最新测评结果

  • [2024-09-12 14:37:04]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3920kb
  • [2024-09-12 14:37:03]
  • 提交

answer

#include <bits/stdc++.h> 
using namespace std;
const int MAXN=4005;
char s[MAXN];
int T,N,a[MAXN],b[MAXN];
int main()
{
	scanf("%d",&T);
	while(T--)
	{
		scanf("%s",s+1);
		N=strlen(s+1);
		for(int i=1;i<=N;i++) a[i]=s[i]-'0',b[i]=a[i];
		for(int i=1;i<=9;i++)
		{
			for(int k=1;k<=N;k++) a[k]=b[k];
			int x=i,y=a[N]-x;
			if(y==0) continue;
			if(y<0) y+=10;
			if(x+y>a[N])
			{
				for(int k=N-1;k;k--)
				{
					if(a[k]==0) a[k]=9;
					else 
					{
						a[k]--;
						break;
					}
				}
			}
			int j=N;
			bool flag=1;
			while(j>1)
			{
			//	printf("%d:%d%d%d%d%d\n",j,a[1],a[2],a[3],a[4],a[5]);
				if(a[j-1]==x+y||a[j-1]==x+y-10) 
				{
					if(x+y-10==a[j-1])
					{
						for(int k=j-2;k;k--)
						{
							if(a[k]==0) a[k]=9;
							else
							{
								a[k]--;
								break;
							}
						}
					}
					j--;
				}
				else break;
			}
			for(int k=j-1;k;k--)
			{
				if((!(k==1&&a[k]==0))&&a[k]!=x)
				{
					flag=0;
					break;
				}
			}
		//	printf("TRY%d %d %d %d\n",x,y,j,flag);
			if(flag)
			{
				for(int k=1+(x>a[1]);k<=N;k++) printf("%d",x);
				printf(" ");
				for(int k=j;k<=N;k++) printf("%d",y);
				puts("");
				break;
			}
		}
	}
	return 0;
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3920kb

input:

6
2
786
1332
89110
2333333
10000000000000000000000000001

output:

1 1
777 9
333 999
88888 222
2222222 111111
9999999999999999999999999999 2

result:

ok ok (6 test cases)

Test #2:

score: -100
Wrong Answer
time: 0ms
memory: 3832kb

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
11111111111111111 222
2222 88
1 4
333333333333333333333333333 9999
888888 111
1 99
11111111 2222
333 2
77777 2
88888888888888888888888888888888888888888888 222222222222222222222
55555555555555555555 222222
66666666666666666666666 55...

result:

wrong answer x + y != n (test case 9)