为什么本地测试过了但交上去全Wa
查看原帖
为什么本地测试过了但交上去全Wa
690561
违规用户名690561楼主2023/6/25 13:30

第一个样例:

7

rvw

gz

mngiktpvl

qvw

qvz

ruy

stx

789 本地: 5 实际: 5 但是: 全部输出0

#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
#include<cstring>
#include<algorithm>
#include<bits/stdc++.h>
//#pragma G++ optimize(2)
//#pragma G++ optimize(3, "Ofast", "inline")
using namespace std;
const int k = 2 * 1e3;
int n, ans;
string a[k], b;
int s1;
char s2;
bool flag;
map<int, map<char, bool>> mp;
int main() {
	mp[2]['a'] = true;
	mp[2]['b'] = true;
	mp[2]['c'] = true;
	mp[3]['d'] = true;
	mp[3]['e'] = true;
	mp[3]['f'] = true;
	mp[4]['g'] = true;
	mp[4]['h'] = true;
	mp[4]['i'] = true;
	mp[5]['j'] = true;
	mp[5]['k'] = true;
	mp[5]['l'] = true;
	mp[6]['m'] = true;
	mp[6]['n'] = true;
	mp[6]['o'] = true;
	mp[7]['p'] = true;
	mp[7]['q'] = true;
	mp[7]['r'] = true;
	mp[7]['s'] = true;
	mp[8]['t'] = true;
	mp[8]['u'] = true;
	mp[8]['v'] = true;
	mp[9]['w'] = true;
	mp[9]['x'] = true;
	mp[9]['y'] = true;
	mp[9]['z'] = true;
	scanf("%d\n", &n);
	for(int i = 1;i <= n;i++){
		getline(cin, a[i]);
	}
	cin >> b;
	for(int i = 1;i <= n;i++){
		for(int j = 0;j < a[i].size();j++){
			flag = false;
			for(int k = 0;k < b.size();k++){
				s1 = b[k] - '0';
				s2 = a[i][j];
				if(mp[s1][s2]){
					flag = true;
					break;
				}
			}
			if(!flag){
				break;
			}
		}
		if(flag){
			++ans;	
		}
	}
	printf("%d", ans);
	return 0;
}
2023/6/25 13:30
加载中...