zoukankan      html  css  js  c++  java
  • UVA-1592 Database

     1 #include <cstdio>
     2 #include <cstring>
     3 #include <vector>
     4 #include <iostream>
     5 #include <algorithm>
     6 #include <set>
     7 #include <map>
     8 
     9 using namespace std;
    10 
    11 
    12 map<string,int> IDcache;
    13 vector<string> Setcache;
    14 
    15 int ID(string x)
    16 {
    17     if(IDcache.count(x))  return IDcache[x];
    18     Setcache.push_back(x);
    19     return IDcache[x] = Setcache.size()-1;
    20 }
    21 
    22 int main()
    23 {
    24     int rowSize,colSize;
    25     while(cin >> rowSize >> colSize)
    26     {
    27         getchar();
    28         vector<vector<int> > inputList;
    29         vector<int> toBePushVec;
    30         string toBePushStr;
    31 
    32         for(int i = 0;i < rowSize;i ++)
    33         {
    34             for(int j = 0;j < colSize;j ++)
    35             {
    36                 char tmpC;
    37                 while((tmpC = getchar()) != ',' && tmpC != '
    ')
    38                 {
    39                     toBePushStr += tmpC;
    40                 }
    41                 toBePushVec.push_back(ID(toBePushStr));
    42                 toBePushStr.clear();
    43             }
    44             inputList.push_back(toBePushVec);
    45             toBePushVec.clear();
    46         }
    47         
    48         map<pair<int,int>,int> searchMap;
    49         bool printFlag = false;
    50         
    51         for(int i = 0;i < colSize-1;i ++)
    52         {
    53             for(int j = i+1;j < colSize;j ++)
    54             {
    55                 for(int k = 0;k < rowSize;k ++)
    56                 {
    57                     auto iter = searchMap.find(make_pair(inputList[k][i],inputList[k][j]));
    58                     if(iter == searchMap.end())
    59                     {
    60                         searchMap.insert(make_pair(make_pair(inputList[k][i],inputList[k][j]),k));
    61                     }
    62                     else
    63                     {
    64                         printFlag = true;
    65                         cout << "NO" << endl;
    66                         cout << iter->second + 1 << " " << k+1 << endl;
    67                         cout << i+1 << " " << j+1 << endl;
    68                         break;
    69                     }
    70                 }
    71                 searchMap.clear();
    72                 if(printFlag)
    73                     break;
    74             }
    75             if(printFlag)
    76                 break;
    77         }
    78         
    79         if(! printFlag)
    80             cout << "YES" << endl;
    81     } 
    82     return 0;
    83 }
  • 相关阅读:
    shell安装kettle
    shell安装jdk
    shell脚本之系统初始化设置(设置selinux、设置ulimit、设置firewalld、设置time_zone)
    关闭防火墙
    todo的使用
    Android Dagger2.0 学习一下
    Android零碎知识点
    windows7 服务中上找不到mysql
    AS 3.1 多library合并打包成aar的正确方式(fat-aar)
    Alexander的Python机器学习 之目录分析。
  • 原文地址:https://www.cnblogs.com/Asurudo/p/9642490.html
Copyright © 2011-2022 走看看