博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva 10763 - Foreign Exchange
阅读量:6806 次
发布时间:2019-06-26

本文共 1034 字,大约阅读时间需要 3 分钟。

hot3.png

我的想法是都存到一个数组里,录入的时候将如果后面一个数字小,就交换下位置,然后按照两个数字依次排序,排序之后正常情况应该是依次两个两个相等,否则就有问题。

有人是from和to分别放到两个数组,依次排序后一对一比较,但是这种情况有bug,比如A到B,B到C,C到A理论上应该No,这种解法确是YES(虽然据说好像没有这种case,也能AC...)。

 

#include
#include
#define MAX 2*500000+5typedef struct Exchange { int from; int to;} Exchange;Exchange ex[MAX];int cmp(const void*a, const void*b) { Exchange *aa = (Exchange*) a; Exchange *bb = (Exchange*) b; if (aa->from != bb->from) return aa->from - bb->from; else return aa->to - bb->to;}int main() { int n; int a, b; while (scanf("%d", &n)) { if (n == 0) break; int i; for (i = 0; i < n; i++) { scanf("%d%d", &a, &b); if (a < b) { ex[i].from = a; ex[i].to = b; } else { ex[i].from = b; ex[i].to = a; } } qsort(ex, n, sizeof(Exchange), cmp); int ok = 1; for (i = 0; i < n; i += 2) { if (ex[i].from != ex[i + 1].from || ex[i].to != ex[i + 1].to) { ok = 0; break; } } if (ok) printf("YES\n"); else printf("NO\n"); } return 0;}

 

转载于:https://my.oschina.net/jdflyfly/blog/283628

你可能感兴趣的文章
struts2文件下载
查看>>
linux下磁盘及文件系统基础知识(1)
查看>>
Android 通过Base64上传图片到服务器
查看>>
我对Backbone的认识
查看>>
NCRE考试感想 四级嵌入式(上)
查看>>
Android 工具
查看>>
我的友情链接
查看>>
linux 查看指定目录的所有文件大小
查看>>
Jmeter中的Bean shell
查看>>
CSS框架学习资料汇总
查看>>
我的友情链接
查看>>
linux硬链接和软链接的区别
查看>>
Java记录 -59- SortedSet
查看>>
VMware克隆CentOS6.4后 eth0无法初始化
查看>>
如何在RedHat 5.4上使用免费的YUM源
查看>>
.NET MVC4 本地正常 部署 服务器错误
查看>>
JMX Java Management Extensions
查看>>
[置顶] javascript中的数组对象以及json学习笔记
查看>>
Android第九天
查看>>
浅学JSON——Json.NET之首次试手
查看>>