???
查看原帖
???
929027
AK_AK_AK楼主2025/8/4 18:03

我一开始的代码是这样的:

#include <bits/stdc++.h>
using namespace std;
string s;
int a[200];
int main(){
    cin>>s;
    for(int i=0; i<s.size(); i++){
		if('a'<=s[i]&&s[i]<='z'&&s[i+1]==':') {
			if('0'<=s[i+3]&&s[i+3]<='9'){
				a[s[i]-'a']=s[i+3]-'0';
			}
            else {
				a[s[i]-'a']=a[s[i+3]];
			}
		}
	}
	cout<<a[0]<<" "<<a[1]<<" "<<a[2];
	return 0;
}

20分。。

后来改成这样:

#include <bits/stdc++.h>
using namespace std;
string s;
int a[200];
int main(){
    cin>>s;
    for(int i=0; i<s.size(); i++){
		if('a'<=s[i]&&s[i]<='z'&&s[i+1]==':') {
			if('0'<=s[i+3]&&s[i+3]<='9'){
				a[s[i]]=s[i+3]-'0';
			}
            else {
				a[s[i]]=a[s[i+3]];
			}
		}
	}
	cout<<a[97]<<" "<<a[98]<<" "<<a[99];
	return 0;
}

过了? 为什么?有没有大佬解释一下?

2025/8/4 18:03
加载中...