SDUT 第十届校赛H menhera酱那惨不忍睹的数学 (二分图匹配)

Input

第一行输入一个整数n,表示总的式子数。

接下来n行,每行两个数a,b分别表示每个式子的两个操作数。

1 <= n <= 100

1 <= b, a <= 100 且a,b都是整数

请注意输出格式,不得有多余空格,式子按照输入的顺序输出。

Output

如果存在一种上述合法的方案,第一行先输出”menhera”,然后输出任一 一种方案(格式见示例),否则输出”QAQ”,不包含引号。

Sample Input

3
1 3
2 4
5 7

Sample Output

menhera
1 + 3 = 4
2 + 4 = 6
5 + 7 = 12
Hint
要求N个答案不相同,除法运算是向下取整,即 5 / 2 = 2, 2 / 2 = 1

Source

豪子

思路

以为要求运算的答案只能出现一次,而四个运算可以任意一个,而数据范围又比较小,所以可以用二分图匹配(1<=N<=100,-99<=运算答案<=10000)
即将运算的式子与式子的运算答案寻找最大匹配,若匹配数==式子的数N,则有解,暴力循环输出答案即可,否则QAQ

AC代码

#include <bits/stdc++.h>
using namespace std;
int p[111][11111];  //存答案
bool used[11111];  //标记是否使用
int book[11111];
int x[111], y[111];
bool dfs(int k)
{int i;for(i = 1; i <= 10100; i++){if(p[k][i]&&!used[i]){used[i] = 1;if(book[i] == 0||dfs(book[i])){book[i] = k;//book[k] = i;return true;}}}return false;
}int main()
{memset(p, 0, sizeof(p));memset(book, 0, sizeof(book));int a, b, c, d;int i, j, n;scanf("%d", &n);for(i = 1; i <= n; i++){scanf("%d %d", &x[i], &y[i]);a = x[i] + y[i];  //将+ - * /四种运算的结果保存b = x[i] - y[i];c = x[i] * y[i];d = x[i] / y[i];p[i][a+100] = 1;  //因为可能运算结果可能有负数,所以统一结果+100p[i][b+100] = 1;p[i][c+100] = 1;p[i][d+100] = 1;}int sum = 0;for(i = 1; i <= n; i++){memset(used, 0, sizeof(used));if(dfs(i))sum++;}if(sum == n){printf("menhera\n");for(i = 1; i <= n; i++){for(j = 1; j <= 10100; j++){if(book[j] == i){if(x[i]+y[i]==j-100)printf("%d + %d = %d\n", x[i], y[i], j-100);else if(x[i]-y[i]==j-100)printf("%d - %d = %d\n", x[i], y[i], j-100);else if(x[i]*y[i]==j-100)printf("%d * %d = %d\n", x[i], y[i], j-100);elseprintf("%d / %d = %d\n", x[i], y[i], j-100);break;}}}}elseprintf("QAQ\n");return 0;
}

SDUT 第十届校赛H menhera酱那惨不忍睹的数学 (二分图匹配)相关推荐

  1. 西南民族大学第十届校赛(同步赛)(H题——Ricky’s RealDan’s Ricky)

    题目描述 The 2019 is coming!Ricky 和 RealDan为了庆祝2018一年的成果,准备去大吃一顿,然而 Ricky 想吃火锅, RealDan 想吃海鲜.为了解决吃什么的难题, ...

  2. 西南民族大学第十届校赛(同步赛) 个人笔记 题解

    题目链接:https://ac.nowcoder.com/acm/contest/322#question 先来一波官方题解 作者:兔子韩 链接:https://ac.nowcoder.com/dis ...

  3. 新年第一篇!西南民族大学第十届校赛(同步赛)

    https://ac.nowcoder.com/acm/contest/322#question A.dreamstart的催促 代码: #include <cstdio> #includ ...

  4. 西南民族大学第十届校赛(同步赛)ABCEHJM题解

    A dreamstart的催促 用到了快速幂 a^b%c long long quick(long long a,long long b,long long c) {long long ans=1;a ...

  5. 西南民族大学第十届校赛 题解

    做了一个小时有事出去了,所以还没看其他的题目,放寒假的时候再补上吧. A :dreamstart的催促 简单快速幂的运用,水题. 链接:https://ac.nowcoder.com/acm/cont ...

  6. 西南民族大学第十届校赛(同步赛)(J题——怪盗基德 月之瞳宝石)

    题目描述 在这片寂静的夜色之下,他就这样静静的降临在我的面前,他的眼神就好像能看透了一切,露出了无所畏惧的笑容.一袭白斗篷和一顶白礼帽,不带一丝多余的动作,他的脸在单眼眼睛跟逆光之下. to 世纪末的 ...

  7. 西南民族大学第十届校赛(同步赛)(F题——集训队脱单大法:这是一道只能由学姐我自己出数据的水题)

    题目描述 总所不周知!ZZZZone有了女朋友却谁也不知道.但是ZZZZone在集训队总是和陈大佬走的很近,每天搂搂抱抱十分不成体统!于是就被ZZZZone的女朋友给知道了,但是呢,ZZZZone的女 ...

  8. 科林明伦杯哈理工第十届同步赛部分题解

    科林明伦杯哈理工第十届同步赛部分题解 B题 搭积木问题 F题 三角形 B题 搭积木问题 链接:https://ac.nowcoder.com/acm/contest/5758/B 来源:牛客网 题目描 ...

  9. NYOJ-682 小媛在努力 (郑大第六届校赛 模拟)

    链接:click here 题意: 描述 在多媒体数据处理中,数据压缩算法尤为重要.小媛上完课后就想自己发明一个数据压缩算法.她想呀想,终于想到一个方法.在多媒体数据中有很多数据都是重复的,所以她想把 ...

  10. 蓝桥杯单片机第十届国赛练习

    单片机型号:IAP15F2K60S2. 蓝桥杯第十届国赛有串口,本文着手进行一番练习, 文末会附上整个工程下载地址. 这一届赛题的练习对我来说还是有些难度 我看题后做了以下几个设计方面的点总结列举: ...

最新文章

  1. 比特币钱包(4) BIP39 助记词
  2. python 银行工作_Python:银行系统实战(一)
  3. 电源模块低温和高温工作会造成什么后果?
  4. linux中echo的使用方法
  5. 用 TStringList 模拟 将字符串转换为变量的功能 - 回复 flq_00000 和 外来天客 的问题...
  6. 手把手教你安装Keil
  7. 刻录软件nero序列号有效性的检测
  8. toolchain安装教程支持_Ubuntu安装ARM架构GCC工具链(ubuntu install ARM toolchain)最简单办法...
  9. Yii Framework 开发教程(36) Zii组件-DatePicker示例
  10. oracle ora-03114
  11. AWS KVS(Kinesis Video Streams)之WebRTC移植编译(三)
  12. 手机取证技巧之微信迁移取证_数字取证技巧和窍门:«您的电话»应用取证
  13. C语言字符串中 char char* char[] 区别
  14. PaddleNLP/ examples / semantic_indexing
  15. 华三交换机irf 堆叠配置_交换机的堆叠配置
  16. ISO/IEC13818-1 TS 格式
  17. 一段修成正果的校园爱情
  18. python量化交易:筹码分布(1)
  19. HDU-1728---逃离迷宫(BFS)
  20. 北京两融开户佣金和融资融券利息率最低多少?哪个券商最低?支持量化交易?

热门文章

  1. 最新SEO寄生虫排名
  2. 五笔86版字根图程序
  3. 图论 二分图 小世界网络 语义网络
  4. ios微信多开 服务器,iOS微信双开(多开)
  5. 使用电脑风扇控制软件Macs Fan Control Pro更好的管理电风扇
  6. Linux下确认CPU是否开启超线程
  7. Datawhale组队学习开源内容汇总
  8. nebulagraph exchange3.0.x
  9. M1 Mac无法读取NTFS格式硬盘里的内容应该怎样操作?
  10. ubuntu如何看到隐藏文件夹