#include<iostream>
#include<cstdio>
#include<string>
#include<sstream>
#include<cstring>
#include<map>
#include<algorithm>
using namespace std;
map<string,int>maps;
int p[10008][6];
int main()
{
int n,m;
lop:while(cin>>n>>m){
string s,t;
maps.clear();
memset(p,0,sizeof(p));
getchar();
int k=0;
for(int i=1;i<=n;i++){
getline(cin,t);
for(int j=0;j<t.length();j++){
if(t[j]==' ') t[j]=',';
else if(t[j]==',') t[j]=' ';
}
stringstream tt(t);
for(int j=0;j<m;j++){
tt>>s;
map<string,int>::iterator it;
it = maps.find(s);
if(it!=maps.end()){
p[k][0]=maps[s]/10;
p[k][1]=maps[s]%10+1;
p[k][2]=i;
p[k][3]=j+1;
k++;
}
maps.insert(map<string,int>::value_type(s,i*10+j));
}
}
if(k==0||k==1) cout<<"YES\n";
else{
for(int i=0;i<k;i++)
for(int j=i+1;j<k;j++){
if(p[i][0]==p[j][0] && p[i][2]==p[j][2] && p[i][1]==p[i][3] && p[j][1]==p[j][3])
{
printf("NO\n%d %d\n%d %d\n",p[i][0],p[i][2],p[i][1],p[j][1]);
goto lop;
}
}
}
}
return 0;
}
UVA1592 Database
最新推荐文章于 2020-07-11 10:19:41 发布