大佬求条
查看原帖
大佬求条
733590
apple365_c楼主2022/8/22 19:37
#include<bits/stdc++.h>
using namespace std;
int n,m,a[505][505],b[505][505],num[5],ans=1;
bool vis[505][505][505];
bool check(int x,int y,int z){
	memset(vis,0,sizeof(vis));
	for(int i=1;i<=n;i++)
		vis[a[i][x]][a[i][y]][a[i][z]]=true;
	for(int i=1;i<=n;i++)
		if(vis[b[i][x]][b[i][y]][b[i][z]]==true)
			return false;
	return true;
}
int main(){
	cin>>n>>m;
	num['A']=1;
	num['G']=2;
	num['C']=3;
	num['T']=4;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++){
		char x;
		cin>>x;
		a[i][j]=num[x];
	}
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++){
		char x;
		cin>>x;
		b[i][j]=num[x];
	}
	for(int i=1;i<=m-2;i++)
		for(int j=i+1;j<=m-1;j++)
			for(int k=j+1;k<=m;k++)
				if(check(i,j,k))
					ans++;
	cout<<ans;
	return 0;
}

此代码样例过了,可是全部TLE(超了8.56s)

2022/8/22 19:37
加载中...