codeforces B. Simple Molecules 解题报告
题目链接:http://codeforces.com/problemset/problem/344/B
题目意思:这句话是解题的关键: The number of bonds of an atom in the molecule must be equal to its valence number。 给定三个原子的化学价,规定化学价数等于该原子与另外两个原子所连接的原子键之和。
又一次把简单问题复杂化了.....(以下注释部分读者可以忽略)
/*
一开始三重循环枚举,绝对超时(10^6 * 10^6 * 10^6),不敢提交!!后来甚至想到这三个原子构成的原子键与总的化学价数成两倍关系(貌似没什么用,也好像不太正确,最后觉得无法实施,没深究下去了)......昨天上课再想,想到把这三个数从小到大排序,然后枚举最小和次小的原子的原子键,这样枚举出的值最大也不会超过最小的那个原子的价数,知道其中两个原子的原子键后,其余两个原子键自然就能计算出来。(例如8 3 11,3和8连接的原子键最大只可能是3)这样做,虽然在一般情况下(不考虑极端的10^6),枚举的范围小了,然而这三个原子的输入顺序在排序的过程中被改变了,用结构体保存原来输入的序号?越来越不可行了......
*/
今天硬着头皮,做好TLE的心理准备,不排序直接枚举(1~10^6)输入的前两个数的原子键数,一旦发现直接输出。其实三个原子键构成这样一个关系:假设输入的是a,b,c,枚举a,b之间的原子键数i(0<= i <= 10^6 )。想到b、c原子键数符合:b - i ;a、c之间的原子键符合:a - i。最后如果符合 (a - i ) + (b - i ) = c,即找出一组解。
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std; const int maxn = 1e6 + ; int main()
{
int a, b, c, i;
while (scanf("%d%d%d", &a, &b, &c) != EOF)
{
int flag = ;
for (i = ; i <= maxn; i++)
{
if (a + b - * i == c && b-i >= && a-i >= ) // 一定要判断 b-i 和 a-i 的取值,负数的需要排序
{
flag = ; // 找出一组解,直接跳出循环
printf("%d %d %d\n", i, b-i, a-i);
break;
}
}
if (!flag)
printf("Impossible\n");
}
return ;
}
codeforces B. Simple Molecules 解题报告的更多相关文章
- Codeforces Round 665 赛后解题报告(暂A-D)
Codeforces Round 665 赛后解题报告 A. Distance and Axis 我们设 \(B\) 点 坐标为 \(x(x\leq n)\).由题意我们知道 \[\mid(n-x)- ...
- Codeforces Round 662 赛后解题报告(A-E2)
Codeforces Round 662 赛后解题报告 梦幻开局到1400+的悲惨故事 A. Rainbow Dash, Fluttershy and Chess Coloring 这个题很简单,我们 ...
- CodeForces - 344B Simple Molecules (模拟题)
CodeForces - 344B id=46665" style="color:blue; text-decoration:none">Simple Molecu ...
- Codeforces Round #277.5 解题报告
又熬夜刷了cf,今天比正常多一题.比赛还没完但我知道F过不了了,一个半小时贡献给F还是没过--应该也没人Hack.写写解题报告吧= =. 解题报告例如以下: A题:选择排序直接搞,由于不要求最优交换次 ...
- codeforces 591A. Wizards' Duel 解题报告
题目链接:http://codeforces.com/problemset/problem/591/A 题目意思:其实看下面这幅图就知道题意了,就是Harry 和 He-Who-Must-Not-Be ...
- codeforces 582A. GCD Table 解题报告
题目链接:http://codeforces.com/problemset/problem/582/A 网上很多题解,就不说了,直接贴代码= = 官方题解: http://codeforces.com ...
- codeforces 581C. Developing Skills 解题报告
题目链接:http://codeforces.com/problemset/problem/581/C 题目意思:给出 n 个数:a1, a2, ..., an (0 ≤ ai ≤ 100).给出值 ...
- codeforces 577B. Modulo Sum 解题报告
题目链接:http://codeforces.com/problemset/problem/577/B 题目意思:就是给出 n 个数(a1, a2, ..., an) 和 m,问能不能从这 n 个数中 ...
- codeforces 540B.School Marks 解题报告
题目链接:http://codeforces.com/problemset/problem/540/B 题目意思:给出 k 个test的成绩,要凑剩下的 n-k个test的成绩,使得最终的n个test ...
随机推荐
- 解决启动Biee控制台乱码问题
在安装完Biee后,大家都可以看到在程序中可以找到启动BI服务的地方 点击上图中的启动bi服务则在window系统中会弹出一个dos窗口,来显示执行启动服务的操作,如下图 上图显示的是正常情况,本人安 ...
- BZOJ-3130 费用流 (听题目胡扯丶裸最大流) 二分判定+最大流+实数精度乱搞
DCrusher爷喜欢A我做的水题,没办法,只能A他做不动的题了.... 3130: [Sdoi2013]费用流 Time Limit: 10 Sec Memory Limit: 128 MBSec ...
- 【bzoj1042】 HAOI2008—硬币购物
http://www.lydsy.com/JudgeOnline/problem.php?id=1042 (题目链接) 题意 共有4种硬币,面值分别为c1,c2,c3,c4.某人去商店买东西,去了to ...
- TCP/IP详解 笔记十
IGMP Internet组管理协议 IGMP的作用:让一个物理网络上的所有系统知道主机所在的多播组: 让路由器知道多播数据报应该向哪个端口转发. IGMP有固定长度,没有可选数据,在ip头部的协议值 ...
- HDU 5714
Problem Description 小明在旅游的路上看到了一条美丽的河,河上有许多船只,有的船只向左航行,有的船只向右航行.小明希望拍下这一美丽的风景,并且把尽可能多的船只都完整地拍到一张照片中. ...
- jquery------捕获异常处理
web.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC ...
- 网友微笑分享原创Jquery实现瀑布流特效
首先非常感谢网友微笑的无私分享,此Jquery特效是一款非常流行和实用的瀑布流布局,核心代码只有几十行,是我见过代码量最少的瀑布流布局,非常适合网友们学习哦,希望大家好好看一下这个Jquery特效的原 ...
- 织梦DedeCms去掉栏目页面包屑导航最后的分隔符“>”
织梦DedeCms的面包屑导航调用标签{dede:field name=’position’ /},在栏目页里调用的面包屑导航,最后会出现分割符号“>”,如:主页 > DedeCms 模板 ...
- DedeCMS V5.7 Dialog目录下配置文件XSS漏洞
漏洞地址及证明:/include/dialog/config.php?adminDirHand="/></script><script>alert(1);< ...
- http https 区别
HTTPS和HTTP的区别 一.https协议需要到ca申请证书,一般免费证书很少,需要交费. 二.http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议. 三. ...