求调!(p1143)
  • 板块灌水区
  • 楼主wangding
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/7/31 21:36
  • 上次更新2024/8/1 01:07:39
查看原帖
求调!(p1143)
1113248
wangding楼主2024/7/31 21:36

样例过,下载的数据也过,就是WA……

#include<bits/stdc++.h>
using namespace std;
long long n,m,an[1009],ans_1,fl=0,q=1;
char ans[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'},ans_end[1009];
long long ksm(long long x,long long y){
	if(y==0) return 1;
	if(y==1) return x;
	long long ans=1;
	while(y){
		if(y%2==1) ans*=x;
		x*=x;
		y/=2;
	}
	return ans;
}
void to_ten(long long a[],long long l,long long m){
	for(long long i=0;i<l;i++) ans_1+=a[i]*ksm(m,i);
	return;
}
void to_ans(long long an,long long m){
	if(an==0) fl=1;
	if(fl==1) return;
	ans_end[q]=ans[an%m];
	q++;
	to_ans(an/m,m);
}
string s;
int main(){
	cin>>n;
	cin>>s;
	cin>>m;
	long long len=s.length();
	for(long long i=0;i<len;i++){
		if(s[i]>='0'&&s[i]<='9') an[i]=s[i]-'0';
		else an[i]=s[i]-'A'+10;
	}
	to_ten(an,len,n);
	to_ans(ans_1,m);
	for(long long i=q;i>=1;i--) cout<<ans_end[i];
	return 0;
}  

代码中有一些抽象的地方,本蒟蒻太懒,没改……

2024/7/31 21:36
加载中...