QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#141619#5254. DifferencesPhantomThreshold#TL 0ms0kbC++201009b2023-08-17 18:10:332023-08-17 18:10:37

Judging History

你现在查看的是最新测评结果

  • [2023-08-17 18:10:37]
  • 评测
  • 测评结果:TL
  • 用时:0ms
  • 内存:0kb
  • [2023-08-17 18:10:33]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
int main()
{
	ios_base::sync_with_stdio(false);
	mt19937 rng(58);
	int n,m,k;
	cin>>n>>m>>k;
	vector<pair<string,int>> s(n+5);
	for(int i=1;i<=n;i++)
	{
		cin>>s[i].first;
		s[i].second=i;
	}
	random_shuffle(s.begin()+1,s.begin()+n+1,[&](int x){return rng()%x;});
	auto cmp=[&](int x,int y)
	{
		int kk=0;
		for(int i=0;i<m;i++)
		{
			if(s[x].first[i]!=s[y].first[i])
			{
				kk++;
				if(kk>k)return false;
				if(kk+m-i-1<k)return false;
			}
		}
		if(kk==k)return true;
		return false;
	};
	vector<int> ok(n+5,1);
	for(int i=1;i<=n;i++)
	{
		if(not ok[i])continue;
		for(int j=i+1;j<=n;j++)
		{
			if(not cmp(i,j))
			{
				ok[i]=ok[j]=0;
//				break;
			}
		}
		if(ok[i])
		{
			for(int j=1;j<i;j++)
			{
				if(not cmp(i,j))
				{
					ok[i]=0;
					break;
				}
			}
			if(ok[i])break;
		}
	}
	for(int i=1;i<=n;i++)
	{
		if(ok[i])
		{
			cout<<s[i].second<<endl;
			break;
		}
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Time Limit Exceeded

input:

3585 4096 2048
ABBBBBBAABAAAAAAAAAAAAABAABABBBABABAAAAABABAAAABAABAABBABBAABAABABBABAABBABBABABABBAAAABBABAABBBBABBBAABBBBBABAABAAABAAABBBBAAAABAABAABABABABBBBBABAAABAAABBAABABBABAABBAABBAABABBBBAABAAAABAABBABAAABBAAAAAABAABBABBABAABABBBAABABBABABBBAAAAABBBABABABBAABAAAABBBBABABAABBBABABABBAABBBABAB...

output:


result: