QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#560360#6407. Classical A+B ProblemY2y7m#WA 1ms3648kbC++141.8kb2024-09-12 15:18:462024-09-12 15:18:47

Judging History

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

  • [2024-09-12 15:18:47]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3648kb
  • [2024-09-12 15:18:46]
  • 提交

answer

#include <bits/stdc++.h>

using namespace std;
const int maxn=4010;
int n;
char s[maxn];
int a[4010];
int b[4010];
int pre[maxn];
void sol()
{
	cin>>s+1;
	n=strlen(s+1);
	for(int i=1;i<=n;i++) a[i]=s[i]-'0';
	if(n==1)
	{
		cout<<1<<" "<<a[1]-1<<endl;
		return ;
	}
	pre[1]=1;
	for(int i=2;i<=n;i++)
	{
		if(a[i]!=a[i-1]) pre[i]=pre[i-1]+1;
		else pre[i]=pre[i-1];
	}

	for(int i=1;i<=9;i++)
	{
		int d=0,now=-1,lst=1;
		bool flag=0;
		for(int j=n;j>=1;j--)
		{
			int t=a[j]-d-i;
			if(j==1&&t<0) break;
			if(t<0) d=1,b[j]=t+10;
			else d=0,b[j]=t;
			if(j==1&&t==0)
			{
				if(now==0) break;
				for(int k=1;k<=n;k++) cout<<i;
				cout<<" ";
				for(int k=lst;k<=n;k++) cout<<now;
				cout<<endl;
				return ;
			}
			if(now==-1) now=b[j];
			if(b[j]==0) flag=1;
			else lst=j;
			if(b[j]!=now&&b[j]!=0)
			{
				break;
			}
			if(b[j]!=0&&flag) break;
			if(j==2&&a[1]==1&&d==1)
			{
				for(int k=2;k<=n;k++) cout<<i;
				cout<<" ";
				for(int k=lst;k<=n;k++) cout<<now;
				cout<<endl;
				return ;
			}
			if(d==0)
			{
				if(a[j-1]==now&&!flag&&pre[j-1]<2)
				{
					for(int k=j;k<=n;k++) cout<<i;
					cout<<" ";
					for(int k=1;k<=n;k++) cout<<now;
					cout<<endl;
					return ;
				}
			}
			else
			{
				if(j==2&&a[1]-1==now&&!flag)
				{
					for(int k=j;k<=n;k++) cout<<i;
					cout<<" ";
					for(int k=1;k<=n;k++) cout<<now;
					cout<<endl;
					return ;					
				}
				else if(j!=2)
				{
					if(a[j-2]==a[j-1]-1&&a[j-2]==now&&pre[j-2]<2&&!flag)
					{
						for(int k=j;k<=n;k++) cout<<i;
						cout<<" ";
						for(int k=1;k<=n;k++) cout<<now;
						cout<<endl;
						return ;
					}
				}
			}
		}
	}
}
int main()
{
	ios::sync_with_stdio(false);
	int T;
	cin>>T;
	while(T--)
	{
		sol();
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

6
2
786
1332
89110
2333333
10000000000000000000000000001

output:

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

result:

ok ok (6 test cases)

Test #2:

score: -100
Wrong Answer
time: 1ms
memory: 3648kb

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:

77 777
3333333333333333333 77777777777777777777777777777
44444444 6
11111111111111111 222
2222 88
1 4
333333333333333333333333333 9999
111 888888
1 9
11111111 2222
2 333
2 77777
222222222222222222222 88888888888888888888888888888888888888888888
222222 55555555555555555555
5555555555555555555555 6666...

result:

wrong answer Token parameter [name=y] equals to "5555", doesn't correspond to pattern "[1-9]{1,3}" (test case 16)