codeforces 344B - Simple Molecules

简介: 题意就是给出3个原子的化学价,然后组成一个分子,要保证这个分子是稳定的,如果你还记得高中化学知识的话这个很容易理解,然后让你求出1-2 2-3 1-3 号原子之间有几条键, 这里我分别用ta tb tc 表示, 用数学的方法表示出来的话就是a = tc + tb; b = ta+tc; c = ta + tb;可能有多种情况,只要输出一种即可。

   题意就是给出3个原子的化学价,然后组成一个分子,要保证这个分子是稳定的,如果你还记得高中化学知识的话这个很容易理解,然后让你求出1-2  2-3 1-3 号原子之间有几条键, 这里我分别用ta tb tc 表示, 用数学的方法表示出来的话就是a = tc + tb; b = ta+tc; c = ta + tb;可能有多种情况,只要输出一种即可。


     我们随便找其中一个原子,然后从0开始枚举它到b原子有多少键,根据上面的式子,可以计算出到c原子的键,然后就可以知另外两个原子间的键值,做一次判断即可,无需判断a = tc + tb; b = ta+tc; c = ta + tb; 因为计算工程中就用到了其中两个等式,保证其一定成立。 还有就是无法组成分子的情况,我们只要没找到满足条件的三个值就输出"Impossible"。

//cf 334B
//2013-09-19-15.57
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
    int a, b, c;
    while (scanf("%d %d %d", &a, &b, &c) != EOF)
    {
        int flag = 1;
        for (int i = 0; i <= a; i++)
        {
            int tb = i, tc = a-i;
            if (tb > c)
                continue;
            int ta = c - tb;
            if (b == ta + tc)
            {
                printf("%d %d %d\n", tc, ta, tb);
                flag = 0;
                break;
            }
        }
        if (flag)
            puts("Impossible");
    }
    return 0;
}
目录
相关文章
|
6月前
hdu 1019 Least Common Multiple
hdu 1019 Least Common Multiple
29 0
|
6月前
|
JavaScript 前端开发
ES modules: A cartoon deep-dive
ES modules: A cartoon deep-dive
62 1
hdu 1019 Least Common Multiple
hdu 1019 Least Common Multiple
31 0
|
存储
LeetCode 227. Basic Calculator II
实现一个基本的计算器来计算一个简单的字符串表达式的值。 字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。
57 0
LeetCode 227. Basic Calculator II
HDLBits(1)——Modules:Hierarchy(下)
目录 HDLBits——Modules:Hierarchy 问题19 Module 将信息连接到端口 By position By name 问题20 Connecting ports by position(Module pos) 问题21 Connecting ports by name(Module name) 问题22 Three modules(Module shift) 问题23 Modules and vectors(Module shift8) 问题24 Adder 1(Module add) 问题25 Adder 2(Module fadd) 问题26 Carry-selec
130 0
HDLBits(1)——Modules:Hierarchy(下)
HDLBits(1)——Modules:Hierarchy(中)
目录 HDLBits——Modules:Hierarchy 问题19 Module 将信息连接到端口 By position By name 问题20 Connecting ports by position(Module pos) 问题21 Connecting ports by name(Module name) 问题22 Three modules(Module shift) 问题23 Modules and vectors(Module shift8) 问题24 Adder 1(Module add) 问题25 Adder 2(Module fadd) 问题26 Carry-selec
114 0
HDLBits(1)——Modules:Hierarchy(中)
HDLBits(1)——Modules:Hierarchy(上)
目录 HDLBits——Modules:Hierarchy 问题19 Module 将信息连接到端口 By position By name 问题20 Connecting ports by position(Module pos) 问题21 Connecting ports by name(Module name) 问题22 Three modules(Module shift) 问题23 Modules and vectors(Module shift8) 问题24 Adder 1(Module add) 问题25 Adder 2(Module fadd) 问题26 Carry-selec
198 0
HDLBits(1)——Modules:Hierarchy(上)
HDOJ 1019 Least Common Multiple(最小公倍数问题)
HDOJ 1019 Least Common Multiple(最小公倍数问题)
95 0
HDOJ1019Least Common Multiple
HDOJ1019Least Common Multiple
97 0
下一篇
无影云桌面