Traveling

Problem J: Traveling

Time Limit: 1 Sec  Memory Limit: 32 MB

Description

SH likes traveling around the world. When he arrives at a city, he will ask the staff about the number of cities that connected with this city directly. After traveling around a mainland, SH will collate data and judge whether the data is correct.

 A group of data is correct when it can constitute an undirected graph.

 

Input

There are multiple test cases. The first line of each test case is a positive integer N (1<=N<=10000) standing for the number of cities in a mainland. The second line has N positive integers a1, a2, ...,an. ai stands for the number of cities that connected directly with the ith city. Input will be ended by the END OF FILE.

Output

If a group of data is correct, output "YES" in one line, otherwise, output "NO".

Sample Input

8

7 7 4 3 3 3 2 1

10

5 4 3 3 2 2 2 1 1 1

Sample Output

NO

YES

上代码

 

#include<stdio.h>

 

int a[12345];

 

int main(){

    int n,i,j,flag;

    while(~scanf("%d",&n))

    {

        flag=1;

        for(i=0;i<n;i++)

            scanf("%d",&a[i]);

        for(i=0;i<n;i++)

        {

            for(j=i+1;j<n;j++)

            {

                if(a[i]&&a[j]){

                    a[i]--;

                    a[j]--;

                }

            }

            if(a[i]!=0)

            {

                printf("NO\n");

                flag=0;

                break;

            }

        }

        if(flag) printf("YES\n");

    }

    return 0;

} 

 

/**************************************************************

    Problem: 10

    User: Hui

    Language: C

    Result: Accepted

    Time:100 ms

    Memory:1012 kb

****************************************************************/

 

你可能感兴趣的:(EL)