社区讨论

如此反向挂分?

P14363[CSP-S 2025] 谐音替换参与者 3已保存回复 4

讨论操作

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

当前回复
4 条
当前快照
1 份
快照标识符
@mhiya4yp
此快照首次捕获于
2025/11/03 17:41
4 个月前
此快照最后确认于
2025/11/03 17:41
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
unordered_map<string,unordered_map<string,int>>mp;
int main(){
	int n,q;
	cin>>n>>q;
	for(int i=1;i<=n;i++){
		string s,t;
		cin>>s>>t;
		mp[s][t]++;
	}
	while(q--){
		string s,t;
		cin>>s>>t;
		int l=s.size();
		string S="",T="";
		string P1="",P2="";
		string K1="",K2="";
		int ans=0;
		for(int i=0;i<l;i++){
			S="",T="";
			for(int j=i;j<l;j++){
				S+=s[j];
				T+=t[j];
				K1="",K2="";
				for(int k=j+1;k<l;k++){
					K1+=s[k];
					K2+=t[k];
				}
				if(K1!=K2)continue;
				ans+=mp[S][T];
			}
			P1+=s[i];
			P2+=t[i];
			if(P1!=P2)break;
		}
		cout<<ans<<"\n";
	}
}
这份代码赛场期望10pts反向挂成35了?

回复

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

正在加载回复...