紫书第五章课后习题

UVA - 1594

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<set>
#include<map>
#include<queue>
#include<cmath>
using namespace std;

int main()
{
    int t;
    cin>>t;
    while(t --){
        int a[20];
        int aa[20];
        int n;
        cin>>n;
        for(int i = 1; i <= n; i ++)
            cin>>a[i];
        bool flag = 0;
        for(int i = 1; i <= 1000; i ++)
        {
            int tot = 0;
            for(int i = 1; i < n; i ++)
            {
                aa[i] = abs(a[i+1]-a[i]);
                if(aa[i] == 0) tot ++;
            }
            aa[n] = abs(a[1] - a[n]);
            if(aa[n] == 0) tot ++;
            if(tot == n)
            {
                flag = 1;
                break;
            }
            for(int i = 1; i <= n; i ++)
            {
                a[i] = aa[i];
            }
        }
        if(flag) printf("ZERO\n");
        else printf("LOOP\n");
    }
    return 0;
}

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<set>
#include<map>
#include<queue>
#include<cmath>
using namespace std;

int main()
{

    int n;
    while(scanf("%d",&n) != EOF && n)
    {
        queue<int>q;
        for(int i = 1; i <= n; i ++)
            q.push(i);

        if(n == 1)
        {
            printf("Discarded cards:\n");
            printf("Remaining card: 1\n");
            continue;
        }
        printf("Discarded cards: ");
        while(! q.empty())
        {
            int h = q.front();
            q.pop();
            int h1 = q.front();
            q.pop();
            printf("%d",h);
            if(! q.empty())
                printf(", ");
            else
            {
                printf("\n");
                printf("Remaining card: %d\n",h1);
                break;
            }
            q.push(h1);
        }
    }
    return 0;
}

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<set>
#include<map>
#include<queue>
#include<cmath>
using namespace std;
#define inf 0x3f3f3f3f
int a[500005], b[500005];
int main()
{
    int n;
    while(scanf("%d",&n) != EOF && n)
    {
        
        for(int i = 1; i <= n; i ++)
        {
            cin>>a[i]>>b[i];
        }
        if(n % 2)
        {
            printf("NO\n");
            continue;
        }
        sort(a+1,a+1+n);
        sort(b+1,b+1+n);
        //for(int i = 1; i <= n; i ++)
         //   cout<<a[i]<<' '<<b[i]<<endl;
        bool flag = 1;
        for(int i = 1; i <= n; i ++)
        {
            if(a[i] != b[i])
            {
                flag = 0;
                break;
            }
        }
        if(flag)
            printf("YES\n");
        else
            printf("NO\n");
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41444888/article/details/80542997