UVA10763交换学生
来源:互联网 发布:m1216nfh扫描软件 编辑:程序博客网 时间:2024/05/22 01:36
题意:
给你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\n") : printf("NO\n");
}
return 0;
}
给你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\n") : printf("NO\n");
}
return 0;
}
0 0
- UVA10763交换学生
- 5-4交换学生uva10763
- UVA10763:Foreign Exchange(交换学生)
- 习题5-4 交换学生 UVa10763
- UVA10763-交换生
- 算法竞赛入门经典 第二版 习题5-4 交换学生 Foreign Exchange uva10763
- UVa10763-Foreign Exchange-交换学生--map映射和pair对的使用
- UVA10763
- uva10763
- UVA10763
- uva10763
- UVA10763
- uva10763
- uva10763
- uva10763
- uva10763
- UVa10763
- UVA10763交换生配对问题,排序加二分,或者multimap
- 今天把框架升级了一下,整体升级
- 《高性能的RTC服务器OpenFire》—第一章部署与源码调试
- 10 Code Coverage Tools for C & C++
- setCapture和releaseCapture的小应用
- RK3188从SDCARD中运行Android系统
- UVA10763交换学生
- 脚本练习_计算运行中的进程所占内存总和
- 第十三周项目一:数组大折腾(3)
- stm32 外接晶振问题
- UVA - 10051 Tower of Cubes
- 第十三周 项目一--数组大折腾(4)
- 创新工场:实习感想
- 一步一步学zedboard之十六根文件系统制作
- UVA10827球面上的最大和