• UVA 10763 Foreign Exchange 出国交换 pair+map


    题意:给出很多对数字,看看每一对(a,b)能不能找到对应的(b,a)。

    放在贪心这其实有点像检索。

    用stl做,map+pair。

    记录每一对出现的次数,然后遍历看看对应的那一对出现的次数有没有和自己出现的此时一样即可。

    代码:

     /*
     *   Author:        illuz <iilluzen@gmail.com>
     *   Blog:          http://blog.csdn.net/hcbbt
     *   File:          uva10763.cpp
     *   Lauguage:      C/C++
     *   Create Date:   2013-08-25 09:47:55
     *   Descripton:    UVA 10763 Foreign Exchange, map
     */
    #include <cstdio>
    #include <cstdlib>
    #include <cstring>
    #include <cmath>
    #include <iostream>
    #include <list>
    #include <vector>
    #include <map>
    #include <set>
    #include <deque>
    #include <queue>
    #include <stack>
    #include <utility>
    #include <algorithm>
    using namespace std;
    #define rep(i, n) for (int i = 0; i < (n); i++)
    #define repu(i, a, b) for (int i = (a); i < (b); i++)
    #define repf(i, a, b) for (int i = (a); i <= (b); i++)
    #define repd(i, a, b) for (int i = (a); i >= (b); i--)
    #define swap(a, b) {int t = a; a = b; b = t;}
    #define mc(a) memset(a, 0, sizeof(a))
    #define ms(a, i) memset(a, i, sizeof(a))
    #define sqr(x) ((x) * (x))
    #define FI(i, x) for (typeof((x).begin()) i = (x).begin(); i != (x).end(); i++)
    typedef long long LL;
    typedef unsigned long long ULL;
    
    /****** TEMPLATE ENDS ******/
    
    const int MAXN = 500100;
    struct Pair {
    	int x, y;
    	Pair(int a, int b) : x(a), y(b) {}
    	friend bool operator < (const Pair& a, const Pair& b) {
    		return (a.x < b.x || (a.x == b.x && a.y < b.y));
    	}
    };
    map<Pair, int> m;
    int n, a, b;
    
    int main() {
    	while (scanf("%d", &n) && n) {
    		m.clear();
    		rep(i, n) {
    		   	scanf("%d%d", &a, &b);
    			m[Pair(a, b)]++;
    		}
    		bool flag = true;
    		FI(i, m) {
    		   	if (i->second != m[Pair(i->first.y, i->first.x)]) {
    				flag = false;
    //				break;
    			}
    		}
    		if (flag) printf("YES
    ");
    		else printf("NO
    ");
    	}
    	return 0;
    }


  • 相关阅读:
    菜单展开效果
    css3 实现运动动画 圆与椭圆
    css3 翻起页脚
    css3 实现loading效果
    css3
    jquery/原生js/css3 实现瀑布流以及下拉底部加载
    JSON
    js中变量声明提前
    Object.prototype.toString.call(obj)检测数据类型
    call,apply,bind与es6的数组扩展运算符...
  • 原文地址:https://www.cnblogs.com/pangblog/p/3283482.html
Copyright © 2020-2023  润新知