UVA10763交换学生
生活随笔
收集整理的這篇文章主要介紹了
UVA10763交换学生
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題意:
? ? ? 給你N組關(guān)系,每組關(guān)系是a,b,最后問你所有的a,b出現(xiàn)的次數(shù)和所有的b,a出現(xiàn)的此時是否全部都一樣。
思路:
? ? ? 水題,直接開了個二維的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組關(guān)系,每組關(guān)系是a,b,最后問你所有的a,b出現(xiàn)的次數(shù)和所有的b,a出現(xiàn)的此時是否全部都一樣。
思路:
? ? ? 水題,直接開了個二維的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;
}
總結(jié)
以上是生活随笔為你收集整理的UVA10763交换学生的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UVA10391复合词
- 下一篇: UVA10827球面上的最大和