UVA10763-交换生

题目大意:交换生,顾名思义,必须是有来有回才算交换。现在有若干个学生要申请交换生,判断他们的能不能全部都找到交换对象。

即:判断有向图里每个结点的入度和出度为零。

#include 
#include 
#include 
#include 
#include 

using namespace std;
int Case,x,y,opt[1000][1000];
bool solve()
{
    for(int i=0;i<1000;i++)
        for(int j=0;j<1000;j++)
            if(opt[i][j]!=0)
                return false;
    return true;
}
int main()
{
    while(cin>>Case&&Case!=0)
    {
        memset(opt,0,sizeof(opt));
        for(int i=1;i<=Case;i++)
        {
            cin>>x>>y;
            opt[x][y]++;
            opt[y][x]--;
        }
        if(solve())
            cout<<"YES"<



你可能感兴趣的:(C/C++/STL)