UVA - 1592

//utility pair
//字符串转数字
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
vector<string> v1;//保存字符 
map<string,int> mp;//分配编号
mapint,int>,int> st;
vector<string> v[15];//保存字符矩阵
int id(const string& s){
    return mp[s];
}
int main(){
    int r,c,r1,r2,c1,c2;
    string s,x;
    while(cin>>r>>c){
        st.clear();
        mp.clear();
        v1.clear();
        memset(v,0,sizeof(v));
        getchar();
        for(int i=0;icin,s);
            s+=',';
            int cnt=0;
            for(int j=0;jwhile(s[cnt]!=',')
                    x+=s[cnt++];
                cnt++;
                v[j].push_back(x);
                if(!mp.count(x)){
                    v1.push_back(x);
                    mp[x]=v1.size()-1;
                }
            }
        }
        for(int i=0;ifor(int j=i+1;jfor(int k=0;kint x1=id(v[i][k]);
                    int x2=id(v[j][k]);
                    pair<int,int> p=make_pair(x1,x2);
                    if(st.count(p)){
                        c1=i+1,c2=j+1;
                        r1=st[p]+1,r2=k+1;
                        cout<<"NO"<cout<" "<cout<" "<goto label; 
                    }   
                    else
                        st[p]=k;
                }
            }
        }
        cout<<"YES"<return 0;
} 

你可能感兴趣的:(STL)