本地AC但上传WA是什么鬼???
  • 板块题目总版
  • 楼主北京
  • 当前回复11
  • 已保存回复11
  • 发布时间2020/12/26 16:21
  • 上次更新2023/11/5 05:38:43
查看原帖
本地AC但上传WA是什么鬼???
322285
北京楼主2020/12/26 16:21

上传程序4个点只对了1个,下数据后发现答案与自己程序输出的答案完全一样,然而评测机显示的是WA 搞了好久都不知道问题出在哪里,求助大佬!感谢! 代码如下:

//P1015 回文数
#include<bits/stdc++.h>
using namespace std;
int a[100+10],b[100+10],top,step;
int n;
string s;
int main()
{	
	cin>>n>>s;
	for(int i=s.size()-1;i>=0;--i)
	{
		if(s[i]>='0'&&s[i]<='9')a[++top]=b[top]=s[i]-'0';
		else a[++top]=b[top]=s[i]-'A'+10;
	}
	while(1)
	{
		//for(int i=top;i>=1;--i)cout<<a[i]<<' ';
		//cout<<endl;
		bool flag=0;
		for(int i=1;i<=top/2;++i)
		{
			if(a[i]!=a[top-i+1])
				break;
			if(i==top/2)flag=1;
		}
		if(flag)
		{
			cout<<"STEP="<<step;
			return 0;
		}
		if(step>30)
		{
			cout<<"Impossible!";
			return 0;
		}
		int topp=top;
		for(int i=1;i<=top;++i)
		{
			b[i]+=a[top-i+1];
			if(b[i]>=n)
			{
				++b[i+1];
				b[i]-=n;
				if(i==top)++topp;
			}
		}
		top=topp;
		for(int i=1;i<=top;++i)a[i]=b[i];
		++step;
	}
	return 0;
}//P1015 回文数
#include<bits/stdc++.h>
using namespace std;
int a[100+10],b[100+10],top,step;
int n;
string s;
int main()
{	
	cin>>n>>s;
	for(int i=s.size()-1;i>=0;--i)
	{
		if(s[i]>='0'&&s[i]<='9')a[++top]=b[top]=s[i]-'0';
		else a[++top]=b[top]=s[i]-'A'+10;
	}
	while(1)
	{
		//for(int i=top;i>=1;--i)cout<<a[i]<<' ';
		//cout<<endl;
		bool flag=0;
		for(int i=1;i<=top/2;++i)
		{
			if(a[i]!=a[top-i+1])
				break;
			if(i==top/2)flag=1;
		}
		if(flag)
		{
			cout<<"STEP="<<step;
			return 0;
		}
		if(step>30)
		{
			cout<<"Impossible!";
			return 0;
		}
		int topp=top;
		for(int i=1;i<=top;++i)
		{
			b[i]+=a[top-i+1];
			if(b[i]>=n)
			{
				++b[i+1];
				b[i]-=n;
				if(i==top)++topp;
			}
		}
		top=topp;
		for(int i=1;i<=top;++i)a[i]=b[i];
		++step;
	}
	return 0;
}
2020/12/26 16:21
加载中...