str[0] 取不到
  • 板块学术版
  • 楼主QwQ_QaQ_QuQ
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/9/3 16:44
  • 上次更新2024/9/3 21:17:09
查看原帖
str[0] 取不到
1308602
QwQ_QaQ_QuQ楼主2024/9/3 16:44

P7773,roman_sum 中取不到 str[0]。求助

#include<bits/stdc++.h>
using namespace std;
#define int long long
inline int read()
{
    int x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9')
    {
        if(ch=='-')
            f=-1;
        ch=getchar();
    }
    while(ch>='0' && ch<='9')
        x=x*10+ch-'0',ch=getchar();
    return x*f;
}
void write(int x)
{
    if(x<0)
        putchar('-'),x=-x;
    if(x>9)
        write(x/10);
    putchar(x%10+'0');
    return;
}
const int maxN = 1E2+10;
const string roman_num[maxN] = {"","I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII","XIII","XIV","XV","XVI","XVII","XVIII","XIX","XX","XXI","XXII","XXIII","XXIV","XXV","XXVI","XXVII","XXVIII","XXIX","XXX","XXXI","XXXII","XXXIII","XXXIV","XXXV","XXXVI","XXXVII","XXXVIII","XXXIX","XL","XLI","XLII","XLIII","XLIV","XLV","XLVI","XLVII","XLVIII","XLIX","L","LI","LII","LIII","LIV","LV","LVI","LVII","LVIII","LIX","LX","LXI","LXII","LXIII","LXIV","LXV","LXVI","LXVII","LXVIII","LXIX","LXX","LXXI","LXXII","LXXIII","LXXIV","LXXV","LXXVI","LXXVII","LXXVIII","LXXIX","LXXX","LXXXI","LXXXII","LXXXIII","LXXXIV","LXXXV","LXXXVI","LXXXVII","LXXXVIII","LXXXIX","XC","XCI","XCII","XCIII","XCIV","XCV","XCVI","XCVII","XCVIII","XCIX","C"};
string roman_sum(string str){
	string sum(5,'0');
	char ch;
	for(int i = 0; i < str.size(); ++ i,ch = str[i]){
		if(ch=='I')++ sum[0];
		if(ch=='V')++ sum[1];
		if(ch=='X')++ sum[2];
		if(ch=='L')++ sum[3];
		if(ch=='C')++ sum[4];
	}
	return sum;
}
signed main(){
	string romanum;
	cin>>romanum;
	string rs = roman_sum(romanum);
	cout<<rs<<endl;
	for(int i = 1; i < maxN-10; ++ i)if(roman_sum(roman_num[i])==rs){
		cout<<roman_num[i];
		return 0;
	}
	return 0;
}

感谢

2024/9/3 16:44
加载中...