算法习题---5-4交换学生(UVa10763)
一:题目
有一组学生,他们手中分别有自己学校和想要去的目标学校(A,B)。为了成功的交换学生,必须保证这一组学生中必须每两个人之间满足
s1 (A,B) 和 s2 (B,A)。即两者原来和目标学校相对应,可以实现交换
(一)样例输入
(二)样例输出
YES
NO
二:代码实现
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <vector>
#include <map> using namespace std; int main()
{
freopen("data5_4_h.in", "r", stdin);
freopen("data5_4_h.out", "w", stdout); int num;
while (cin >> num && num!=)
{
map<int, int> first_id_map, second_id_map;
vector<int> first_id_vec; //信息获取
for (int i = ; i < num; i++)
{
int f, s;
cin >> f >> s;
first_id_map[f] = s;
second_id_map[s] = f;
first_id_vec.push_back(f);
}
//信息匹配
bool flag = true;
for (int i = ; i < num; i++)
if (first_id_map[first_id_vec[i]] != second_id_map[first_id_vec[i]])
{
flag = false;
break;
}
if (flag)
cout << "YES" << endl;
else
cout << "NO" << endl;
} freopen("CON", "r", stdin);
freopen("CON", "w", stdout);
return ;
}
算法习题---5-4交换学生(UVa10763)的更多相关文章
- 【算法习题】数组中任意2个(3个)数的和为sum的组合
题1.给定一个int数组,一个数sum,求数组中和为sum的任意2个数的组合 @Test public void test_find2() { int[] arr = { -1, 0, 2, 3, 4 ...
- UVA10763 交换学生 Foreign Exchange 题解
题目链接: https://www.luogu.org/problemnew/show/UVA10763 题目分析: 本题我首先想到的做法是把每一个数都map一下,然后互相判断,例如a,b两人准备交换 ...
- 交换学生 (Foreign Exchange,UVa10763)
题目描述: 解题思路: 开一个数组,读入一次交换两个数,如果最后数组不变,即符合匹配 #include<iostream> #include<cstdio> #include& ...
- 算法习题---4-8特别困的学生(UVa12108)
一:题目 课堂上有n个学生(n<=),每个学生上课都会出现一个“清醒-睡眠”周期,其中第i个学生学习Ai分钟后睡眠Bi分钟,依次重复.其中在从清醒到睡眠时有一个条件:只有到全班睡眠人数大于清醒人 ...
- UVA10763交换学生
题意: 给你N组关系,每组关系是a,b,最后问你所有的a,b出现的次数和所有的b,a出现的此时是否全部都一样. 思路: 水题,直接开了个二维的map标记,map<int ...
- July 算法习题 - 字符串4(全排列和全组合)
https://segmentfault.com/a/1190000002710424 思想:当前层各节点首元素不同,则各节点的剩余元素也不同:下一层节点交换范围为首元素以外的元素 全排列算法: vo ...
- 算法习题-FFT
Q1(hdu1402): 给出两个很大的数字A,B,计算二者乘积. 分析:这个题目java应该能过,用FFT做能够加速计算.这里将字符串A按权(10进制)展开,前面的系数就是多项式的系数,这样就构造出 ...
- 算法习题---4-9数据挖掘(Uva1591)
一:题目 这是最懵逼的一道题,什么鬼......... [刷题]算法竞赛入门经典(第2版) 4-9/UVa1591 - Data Mining(详细题目看这个吧,不想多说) 二:代码实现 #defin ...
- 算法习题---4-4骰子涂色(UVa253)
一:题目 分别对两个骰子的六个面涂色r-红 b-蓝 g-绿,通过转动骰子,看两个骰子是不是一样的涂色方法 (一)题目详解 题目规定了正方体的六个面的序号:从1-,按照这个需要提供涂色序列 (二)案例展 ...
随机推荐
- Python正则提取数据单引号内数据,并判断是否是空列表(是否提取到数据)
#coding=utf- import re string1="asdfgh'355'dfsfas" string2="fafafasfasdfasdf" pa ...
- java常用日期类型转换
import java.math.BigDecimal; import java.math.RoundingMode; import java.text.DecimalFormat; import j ...
- 为什么要使用ConcurrentHashMap
好久没写过技术性文章了,还是要坚持下去.掌握的知识,能写出来或者是讲给别人听才是真正的掌握了知识,如果不善于给别人讲,实际上还是没有真正掌握相关的知识,挑个简单的写吧. 面试的时候经常会被问到hash ...
- 集合(Collection)类
集合(Collection)类是专门用于数据存储和检索的类.这些类提供了对栈(stack).队列(queue).列表(list)和哈希表(hash table)的支持.大多数集合类实现了相同的接口. ...
- springmvc文件上传AND jwt身份验证
SpringMVC文件上传 思路:1.首先定义页面,定义多功能表单(enctype=“multipart/form-data”)2.在Controller里面定义一个方法,用参数(MultipartF ...
- js判断radio选中状态
var radios = document.getElementsByName("radiosName"); var checked = false; for ( var j = ...
- Python中pass语句的作用是什么?
pass语句什么也不做,一般作为占位符或者创建占位程序,pass语句不会执行任何操作.
- 沸腾换热UDF【转载】
#include "udf.h" //包括常规宏 #include "sg_mphase.h" // 包括体积分数宏 CVOF(C,T) #defi ...
- UDP如何实现可靠传输
概述 UDP不属于连接协议,具有资源消耗少,处理速度快的优点,所以通常音频,视频和普通数据在传送时,使用UDP较多,因为即使丢失少量的包,也不会对接受结果产生较大的影响. 传输层无法保证数据的可靠传输 ...
- #C++初学记录(判断子串#数学结合)
A Count Task Problem Description Count is one of WNJXYK's favorite tasks. Recently, he had a very lo ...