交换学生 (Foreign Exchange,UVa10763)

Posted secoding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了交换学生 (Foreign Exchange,UVa10763)相关的知识,希望对你有一定的参考价值。

题目描述:

技术分享图片

 

解题思路:

开一个数组,读入一次交换两个数,如果最后数组不变,即符合匹配

#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
#define MAXN 500005
using namespace std;
int arr[MAXN];
 
void swap(int a,int b){
    int t=arr[a]; arr[a] = arr[b]; arr[b] = t;
}

 
bool isOk(){
    for(int i=0; i<MAXN; ++i)
        if(arr[i]!=i) return false;
    return true;
}
 
int main(){
    int n, i, a, b;
    while(scanf("%d",&n), n){
        for(int i=0; i<MAXN; ++i)
            arr[i] = i;
        for(int i=0; i<n; ++i){
            scanf("%d %d", &a, &b);
            swap(a, b);
        }
        if(isOk()) printf("YES
");
        else printf("NO
");
    }
    return 0;
}

 

以上是关于交换学生 (Foreign Exchange,UVa10763)的主要内容,如果未能解决你的问题,请参考以下文章

UVA-10763 Foreign Exchange

紫书第五章训练 uva 10763 Foreign Exchange by crq

pgimportforeignschema用法

(九)RabbitMQ交换机(Exchange)

消息中间件——RabbitMQ理解Exchange交换机核心概念!

dubbo源码实践-Exchange 信息交换层例子