90分求助
查看原帖
90分求助
1136057
QingMK050225楼主2024/4/21 10:18

挂我第八个点 也不知道为什么,代码有点丑,见谅哈,毕竟我刚开始练字符串

#include<iostream>
#include<cstring>
#include<stack>
#include<queue>
using namespace std;
#define int long long
const int N = 1e5+10;
queue<int>q;
int a[N];
int num;
void check(int n){	
	num--;
	if(n<3)return;
	if(a[0]==1&&a[1]==0&&a[2]==0)return;
	else for(int i = 0;i<n-1;i++){
		a[i]+=a[i+1];
		a[i]%=10;
	}
	

	check(n-1);
	if(a[0]==1&&a[1]==0&&a[2]==0)return;
} 

void solve()
{

	string s;
	string t;
	int ans;
	cin>>s;
	int st;
	cin>>st;
	for(int i = 0;i<s.size();i++){
		string a;
		int c;
		c = st+s[i]-'A';
		while(c){		
		a+=(c%10)+'0';
		c/=10;
		}
		char b[N];
		for(int i = 0;i<a.size();i++){
			b[i] = a[a.size()-i-1];
			t+=b[i];
		}	
	}		
	for(int i = 0;i<t.size();i++){
	a[i] = t[i]-'0';	
	}
	int len = t.size();
	num = len;
	check(len);
	//cout<<c<<"\n";
	if(num == 0)cout<<a[0];
	else if(a[0]==1&&a[1]==0&&a[2]==0){
		cout<<100;
	}
	else if(a[0]==0)cout<<a[1];
	else cout<<a[0]<<a[1];

			
}


signed main()
{
	solve();
	return 0;
}
2024/4/21 10:18
加载中...