90分求助
查看原帖
90分求助
636692
Castaways楼主2023/7/30 19:04

第一个点 wa 了。

#include<bits/stdc++.h>
#define yzh(a) freopen(#a".in","r",stdin); //freopen(#a".out","w",stdout);
#define wlp ios::sync_with_stdio(false);
#define ff(e,u) for(int e=h[u];e;e=nxt[e])
#define f1(i,a,b) for(register ll i=a;i<=b;i++)
#define f2(i,a,b) for(register ll i=a;i>=b;i--)
#define ll long long
#define D double
#define maxn 1000
using namespace std;
string s,SET;
ll st;
string work(ll x){
	if(x==0) return "0";
	bool vis=true;
	if(x<0){x=-x;vis=false;}
	string ans; ans.clear();
	while(x!=0){
		ll m=x%10;
		if(m==0) ans=("0"+ans);
		else if(m==1) ans=("1"+ans);
		else if(m==2) ans=("2"+ans);
		else if(m==3) ans=("3"+ans);
		else if(m==4) ans=("4"+ans);
		else if(m==5) ans=("5"+ans);
		else if(m==6) ans=("6"+ans);
		else if(m==7) ans=("7"+ans);
		else if(m==8) ans=("8"+ans);
		else if(m==9) ans=("9"+ans);
		x/=10;
	};
	if(vis) return ans;
	else return "-"+ans;
};
ll wot(char x){
	ll cur;
	if(x=='0') cur=0;
	else if(x=='1') cur=1;
	else if(x=='2') cur=2;
	else if(x=='3') cur=3;
	else if(x=='4') cur=4;
	else if(x=='5') cur=5;
	else if(x=='6') cur=6;
	else if(x=='7') cur=7;
	else if(x=='8') cur=8;
	else if(x=='9') cur=9;
	return cur;
};
string query(string x){
	ll len=x.length();
	if(len<=2&&len>=1) return x;
	if(x=="100") return "100";
	string ans; ans.clear();
	f1(i,0,len-1){
		ll cur1=wot(x[i]),cur2=wot(x[i+1]);
		if(i+1==len) break;
		ll num=cur1+cur2;
		num%=10;
		ans=(ans+work(num));
	};
	return query(ans);
};
signed main(){
	//yzh()
	wlp;
	cin>>s;
	cin>>st;
	SET.clear();
	ll len=s.length();
	f1(i,0,len-1){
		ll cur=s[i]-'A'; cur+=st;
		SET+=work(cur);
	};
	string ans=query(SET);
	len=ans.length();
	ll id;
	f1(i,0,len-1){
		if(ans[i]=='0') continue;
		else{id=i;break;}
	};
	f1(i,id,len-1) cout<<ans[i];
	return 0;
};
2023/7/30 19:04
加载中...