UVa 10763 Foreign Exchange

这道题很水,以为会和匈牙利算法有点关系,然而2333.
一开始想用map,但是想到取键值要用到 lower_bound() 和upper_bound() ,我不怎么熟练,而且学长说stl在acm中不常用,于是决定换一种方法。
思路是这样的,定义一个二维数组,一边输入一边存储。
注意把数组开在主函数外面2333.

#include<iostream>
#include<string>
#include<queue>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<cstdio>
#include<map> 
#include<vector>
#include<queue> 
#define maxn 10010
using namespace std; 
int n,i,mp[1010][1010];
int x,y;
int main()
{
    while(scanf("%d",&n)!=EOF &&n) 
    {
        memset(mp,0,sizeof(mp));
        while(n--)
        {
            scanf("%d%d",&x,&y);
            ++mp[x][y];--mp[y][x];
        }
        int *p=mp[0];
        for(i=0;i<102010;++p,++i)
            if(*p!=0) break;
        if(i<102010) printf("NO\n");
        else printf("YES\n");
    }
    return 0;
} 

猜你喜欢

转载自blog.csdn.net/ygl_6saltfish/article/details/78847641
今日推荐