社区讨论

7分

P10187 [USACO24FEB] Palindrome Game B参与者 4已保存回复 10

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
10 条
当前快照
1 份
快照标识符
@lwxghvqt
此快照首次捕获于
2024/06/02 19:26
2 年前
此快照最后确认于
2024/06/02 21:32
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int cs=0;
int pd(int n)
{
	int ans=n,sum=n;
	ll b[n+1]={0},c[n+1]={0};
	int i=0;
	while(1)
	{
		if(sum==0)
		break;
		ans=sum%10;
		sum=sum/10;
		b[i]=ans;
		i++;
	}
	int k=0;
	for(int j=i-1;j>=0;j--)
	{
		c[k]=b[j];
		k++;
	}
	for(int j=0;j<n;j++)
	{
		if(b[j]!=c[j])
		return 0;
	}
	return 1;
}
int dg(ll a)
{
	for(ll i=a-1;i>=1;i--)
	{
		if(pd(i)==1&&pd(a-i)!=1)
		{
			return 1;
		}
	}
	return 0;
}
int main()
{
	int n;
	cin>>n;
	ll a[n+10]={0};
	for(int i=0;i<n;i++)
	cin>>a[i];
	for(int i=0;i<n;i++)
	{
		if(a[i]<10)
		{
			cout<<"B\n";
			continue;
		}
		if(pd(a[i])==1)
		{
			cout<<"B\n";
			continue;
		}
		if(dg(a[i])==1)
		{
			cout<<"B\n";
			continue;
		}
		else
		{
			cout<<"E\n";
		}
	}
	return 0;
}

回复

10 条回复,欢迎继续交流。

正在加载回复...