zoukankan      html  css  js  c++  java
  • UVA10763交换学生

    题意:
          给你N组关系,每组关系是a,b,最后问你所有的a,b出现的次数和所有的b,a出现的此时是否全部都一样。


    思路:
          水题,直接开了个二维的map标记,map<int ,map<int ,int> >mark,最后在检查一遍是否所有的mark[a][b] == mark[b][a],就ok了。




    #include<map>
    #include<stdio.h>


    using namespace std;


    map<int ,map<int ,int> >mark;
    int edge[500005][2];


    int main ()
    {
       int n ,i;
       while(~scanf("%d" ,&n) && n)
       {
          mark.clear();
          for(i = 1 ;i <= n ;i ++)
          {
             scanf("%d %d" ,&edge[i][0] ,&edge[i][1]);
             mark[edge[i][0]][edge[i][1]] ++;
          }
          int mk = 0;
          for(i = 1 ;i <= n && !mk;i ++)
          if(mark[edge[i][0]][edge[i][1]] != mark[edge[i][1]][edge[i][0]])
          mk = 1;
          !mk ? printf("YES ") : printf("NO ");
       }
       return 0;
    }







  • 相关阅读:
    关押罪犯
    文化之旅
    [USACO11OPEN]玉米田迷宫Corn Maze
    排队布局
    最短路计数
    【模板】单源最短路径(标准版)
    最短路径问题
    无向图最小环
    localStorage的使用
    移动端如何引入日期插件
  • 原文地址:https://www.cnblogs.com/csnd/p/12062620.html
Copyright © 2011-2022 走看看