社区讨论

样例过了但是0分!有没有哪位大佬能说明是咋回事?

P8115 「RdOI R3.5」Table参与者 1已保存回复 0

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@lo1o1c2t
此快照首次捕获于
2023/10/23 00:11
2 年前
此快照最后确认于
2023/11/03 00:53
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std; 
#define int unsigned long long
char c;
vector<int> num;
vector<string> s;
int t;
char d[17]="0123456789ABCDEF";
string tohex(int m)
{
	string res="";
	if(m==0) return "0";
	while(m!=0)
	{
		char p=d[m%16];
		res=p+res;
		m/=16;
	}
	return "0x"+res;
}
signed main()
{
	while(1)
	{
		scanf("%c",&c);
		if(c=='}') break;
		else if(c=='{') continue;
		else if(c==',')
		{
			num.push_back(t);
			t=0;
		}
		else
		{
			t*=10;
			t+=(int)(c-'0');
		}
	}
	num.push_back(t);
	for(int i=0;i<num.size();i++)
	{
		s.push_back(tohex(num[i]));
	}
	cout<<"{";
	for(int i=0;i<num.size()-1;i++)
	{
		if(to_string(num[i]).size()>s[i].size())
		{
			cout<<s[i]<<",";
		}
		else cout<<num[i]<<",";
	}
	if(to_string(num[num.size()-1]).size()>s[num.size()-1].size())
	{
		cout<<s[num.size()-1];
	}
	else
	{
		cout<<num[num.size()-1];
	}
	cout<<"}";
    return 0;
}
输入:
CPP
{1,314159,3141592653589793}
输出:
CPP
{1,314159,0xB29430A256D21}
预期:
CPP
{1,314159,0xB29430A256D21}

回复

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

正在加载回复...