SDUT 第十届校赛H menhera酱那惨不忍睹的数学 (二分图匹配)
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酱那惨不忍睹的数学 (二分图匹配)相关推荐
- 西南民族大学第十届校赛(同步赛)(H题——Ricky’s RealDan’s Ricky)
题目描述 The 2019 is coming!Ricky 和 RealDan为了庆祝2018一年的成果,准备去大吃一顿,然而 Ricky 想吃火锅, RealDan 想吃海鲜.为了解决吃什么的难题, ...
- 西南民族大学第十届校赛(同步赛) 个人笔记 题解
题目链接:https://ac.nowcoder.com/acm/contest/322#question 先来一波官方题解 作者:兔子韩 链接:https://ac.nowcoder.com/dis ...
- 新年第一篇!西南民族大学第十届校赛(同步赛)
https://ac.nowcoder.com/acm/contest/322#question A.dreamstart的催促 代码: #include <cstdio> #includ ...
- 西南民族大学第十届校赛(同步赛)ABCEHJM题解
A dreamstart的催促 用到了快速幂 a^b%c long long quick(long long a,long long b,long long c) {long long ans=1;a ...
- 西南民族大学第十届校赛 题解
做了一个小时有事出去了,所以还没看其他的题目,放寒假的时候再补上吧. A :dreamstart的催促 简单快速幂的运用,水题. 链接:https://ac.nowcoder.com/acm/cont ...
- 西南民族大学第十届校赛(同步赛)(J题——怪盗基德 月之瞳宝石)
题目描述 在这片寂静的夜色之下,他就这样静静的降临在我的面前,他的眼神就好像能看透了一切,露出了无所畏惧的笑容.一袭白斗篷和一顶白礼帽,不带一丝多余的动作,他的脸在单眼眼睛跟逆光之下. to 世纪末的 ...
- 西南民族大学第十届校赛(同步赛)(F题——集训队脱单大法:这是一道只能由学姐我自己出数据的水题)
题目描述 总所不周知!ZZZZone有了女朋友却谁也不知道.但是ZZZZone在集训队总是和陈大佬走的很近,每天搂搂抱抱十分不成体统!于是就被ZZZZone的女朋友给知道了,但是呢,ZZZZone的女 ...
- 科林明伦杯哈理工第十届同步赛部分题解
科林明伦杯哈理工第十届同步赛部分题解 B题 搭积木问题 F题 三角形 B题 搭积木问题 链接:https://ac.nowcoder.com/acm/contest/5758/B 来源:牛客网 题目描 ...
- NYOJ-682 小媛在努力 (郑大第六届校赛 模拟)
链接:click here 题意: 描述 在多媒体数据处理中,数据压缩算法尤为重要.小媛上完课后就想自己发明一个数据压缩算法.她想呀想,终于想到一个方法.在多媒体数据中有很多数据都是重复的,所以她想把 ...
- 蓝桥杯单片机第十届国赛练习
单片机型号:IAP15F2K60S2. 蓝桥杯第十届国赛有串口,本文着手进行一番练习, 文末会附上整个工程下载地址. 这一届赛题的练习对我来说还是有些难度 我看题后做了以下几个设计方面的点总结列举: ...
最新文章
- 比特币钱包(4) BIP39 助记词
- python 银行工作_Python:银行系统实战(一)
- 电源模块低温和高温工作会造成什么后果?
- linux中echo的使用方法
- 用 TStringList 模拟 将字符串转换为变量的功能 - 回复 flq_00000 和 外来天客 的问题...
- 手把手教你安装Keil
- 刻录软件nero序列号有效性的检测
- toolchain安装教程支持_Ubuntu安装ARM架构GCC工具链(ubuntu install ARM toolchain)最简单办法...
- Yii Framework 开发教程(36) Zii组件-DatePicker示例
- oracle ora-03114
- AWS KVS(Kinesis Video Streams)之WebRTC移植编译(三)
- 手机取证技巧之微信迁移取证_数字取证技巧和窍门:«您的电话»应用取证
- C语言字符串中 char char* char[] 区别
- PaddleNLP/ examples / semantic_indexing
- 华三交换机irf 堆叠配置_交换机的堆叠配置
- ISO/IEC13818-1 TS 格式
- 一段修成正果的校园爱情
- python量化交易:筹码分布(1)
- HDU-1728---逃离迷宫(BFS)
- 北京两融开户佣金和融资融券利息率最低多少?哪个券商最低?支持量化交易?