第3个点是不是有问题
查看原帖
第3个点是不是有问题
1112330
hczyy楼主2025/7/3 11:37

下了数据 输出一样的为什么wa

#include<bits/stdc++.h>
using namespace std;
const int MAXN = 1001;
int n, t = 0, csi[MAXN], csc[MAXN];
string hs, jz;
string hsm[MAXN];

void cl(int x){
	for(int i = 0; i < x; i++){
		if(hs[i] >= 'A' && hs[i] <= 'Z'){
			jz += hs[i] - ('A' - 'a');
		}
		else jz += hs[i];
	}
}

int main(){
	cin >> n;
	string tt;
	getline(cin, tt);
	for(int o = 1; o <= n; o++){
		jz = "";
		getline(cin, hs);
		if(hs == "main ()") continue;
		int j = 0;
		while(hs[j] != ' ') j++;
		cl(j);
		j += 2;
		int intt = 0, charr = 0 ;
		while(j < (int)hs.length()){
			while(j < (int)hs.length() - 1 && hs[j] != ','){
				j++;
			}
			if(hs[j - 1] == '\''){
				charr++;
			}
			if(hs[j - 1] >= '0' && hs[j - 1] <= '9'){
				intt++;
			}
			j++;
		}
		bool ok = true;
		for(int i = 1; i <= t; i++){
			if(hsm[i] == jz && csc[i] == charr && csi[i] == intt){
				ok = false;
				break;
			}
		}
	//	cout << jz << " " << charr << " " << intt << endl << endl;
		if(ok){
			hsm[++t] = jz;
			csc[t] = charr;
			csi[t] = intt;
		}
	}
	cout << t << endl;
	return 0;
}

2025/7/3 11:37
加载中...