HDU 5625 Clarke and chemistry
来源:互联网 发布:centos 6.5 硬盘分区 编辑:程序博客网 时间:2024/05/22 08:03
Clarke and chemistry
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 58 Accepted Submission(s): 30
Problem Description
Clarke is a patient with multiple personality disorder. One day, Clarke turned into a junior student and took a chemistry exam.
But he did not get full score in this exam. He checked his test paper and found a naive mistake, he was wrong with a simple chemical equation balancer.
He was unhappy and wanted to make a program to solve problems like this.
This chemical equation balancer follow the rules:
Two valencesA combined by |A| elements and B combined by |B| elements.
We get a new valenceC by a combination reaction and the stoichiometric coefficient of C is 1 . Please calculate the stoichiometric coefficient a of A and b of B that aA+bB=C, a,b∈N∗ .
But he did not get full score in this exam. He checked his test paper and found a naive mistake, he was wrong with a simple chemical equation balancer.
He was unhappy and wanted to make a program to solve problems like this.
This chemical equation balancer follow the rules:
Two valences
We get a new valence
Input
The first line contains an integer T(1≤T≤10) , the number of test cases.
For each test case, the first line contains three integersA,B,C(1≤A,B,C≤26) , denotes |A|,|B|,|C| respectively.
ThenA+B+C lines follow, each line looks like X c , denotes the number of element X of A,B,C respectively is c . (X is one of 26 capital letters, guarantee X of one valence only appear one time, 1≤c≤100 )
For each test case, the first line contains three integers
Then
Output
For each test case, if we can balance the equation, printa and b . If there are multiple answers, print the smallest one, a is smallest then b is smallest. Otherwise print NO.
Sample Input
22 3 5A 2B 2C 3D 3E 3A 4B 4C 9D 9E 92 2 2A 4B 4A 3B 3A 9B 9
Sample Output
2 3NOHint:The first test case, $a=2, b=3$ can make equation right. The second test case, no any answer.
#include<cstring>#include<iostream>using namespace std;int num1[30];int num2[30];int sum[30];bool check(int a,int b){ int i; for(i=0;i<26;i++){ if(a*num1[i]+b*num2[i]!=sum[i]){ return false; } } return true;}int main(){ int T,t,flag,a,b,c,i,j; char x; cin>>T; while(T--){ flag=0; memset(num1,0,sizeof(num1)); memset(num2,0,sizeof(num2)); memset(sum,0,sizeof(sum)); cin>>a>>b>>c; while(a--){ cin>>x>>t; num1[x-'A']=t; } while(b--){ cin>>x>>t; num2[x-'A']=t; } while(c--){ cin>>x>>t; sum[x-'A']=t; } for(i=1;i<=100;i++){ for(j=1;j<=100;j++){ if(check(i,j)){ flag=1; a=i; b=j; break; } } if(flag){ break; } } if(flag){ cout<<a<<" "<<b<<endl; } else{ cout<<"NO"<<endl; } } return 0;}
0 0
- HDU 5625 Clarke and chemistry
- HDU 5625 Clarke and chemistry
- HDU 5625 Clarke and chemistry(模拟)
- HDU 5625 Clarke and chemistry 模拟
- HDU 5625 Clarke and chemistry(水~)
- hdoj 5625 Clarke and chemistry
- 杭电 hdu 5625 Clarke and chemistry【水题】
- HDU 5625 Clarke and chemistry(字符串模拟题目)
- hdoj--5625--Clarke and chemistry(枚举)
- 【模拟】HDOJ Clarke and chemistry 5625
- 杭电5625 Clarke and chemistry
- Clarke and chemistry
- hdu5625 Clarke and chemistry
- bestcoder 72 Clarke and chemistry
- BestCoder Round #72 Clarke and chemistry
- HDU Clarke and points
- Clarke and MST HDU
- BestCoder Round #72 (div.2) A.Clarke and chemistry
- c++拾遗-----复合类型
- Java面向对象程序设计----核心概念
- LeetCode Contains Duplicate
- 神一样的爱因斯坦,真的和外星人有什么联系?
- Android SDK代理服务器解决国内不能更新下载问题
- HDU 5625 Clarke and chemistry
- cocos2d-js v3.1 bug记录
- overlay机制
- Codeforces 479E Riding in a Lift (DP)
- 深入理解Java
- 欢迎使用CSDN-markdown编辑器
- 我发现的IT大牛的优秀博客
- 面试笔试杂项积累-leetcode 246-260
- Logistic Regression