题目:给一串0和1,要求有且只有一个0,如果只有一个数,则必须为1
直接模拟就可以
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#define rep(i, j, k) for(int i = j; i <= k; i++)
using namespace std;
int n, a[1009];
int main ()
{
cin >> n;
rep (i, 1, n)
scanf ("%d", &a[i]);
int ok = 1;
rep (i, 1, n)
ok -= (a[i] == 0);
if ( (n == 1 && a[1]) || (n > 1 && ok == 0))
printf ("YES\n");
else
printf ("NO\n");
return 0;
}