CCF认证 201912-3 化学方程式 (100分)

CCF认证 201912-3 化学方程式 (100分)

题目大意也很容易懂,相比于往年的第三题,跟着模拟就好了。把()word,分解操作。

差几行代码300的我哭鸟= =CCF认证 201912-3 化学方程式 (100分)_第1张图片

 

CCF认证 201912-3 化学方程式 (100分)_第2张图片

// INFO BEGIN
//
// User = 201911506529(俞梦真) 
// Group = C/C++ 
// Problem = 化学方程式 
// Language = CPP11 
// SubmitTime = 2019-12-15 16:42:38 
//
// INFO END

#include
#include
#include 
using namespace std;
const int maxn=1000+10;
map Lm,Rm;
//int Lnum[maxn],Rnum[maxn];
//string Ls[max],Rs[maxn];
//是数字 
bool isnum(char c){
	if(c<='9'&&c>='0') return 1;
	return 0;
}
//小写字母 
bool issmall(char c){
	if(c<='z'&&c>='a') return 1;
	return 0;
}
//大写字母 
bool isbig(char c){
	if(c<='Z'&&c>='A') return 1;
	return 0;
}
void oneword(string str,bool flag,int num){
	int len=str.size();
	int cnt=1,i=0;
	string tmp="";
	int tmp1=-1;
	while(isnum(str[i])&&i0){
				if(tmp1==-1) tmp1=1;
				if(!flag) Lm[tmp]=Lm[tmp]+tmp1*cnt;
				else Rm[tmp]=Rm[tmp]+tmp1*cnt;
				tmp1=-1;tmp=str[i];
			}
			else tmp+=str[i];
		}
	}
	
	//最后一个
	if(tmp!=""){
		if(tmp1==-1) tmp1=1;
		if(!flag) Lm[tmp]=Lm[tmp]+tmp1*cnt;
		else Rm[tmp]=Rm[tmp]+tmp1*cnt;
	}
}
void find(string str,bool flag){
	int len=str.size();
	string tmp="";
	for(int i=0;i>n;
	while(n--){
		cin>>str;
		Lm.clear();
		Rm.clear();
		int len=str.size();
		for(int i=0;i::iterator it=Lm.begin();it!=Lm.end();it++){
//			cout<first<<" "<second<first]<first]==it->second) Rm[it->first]=0;
			else {
				flag=1;break;	
			}
		}
		for(map::iterator it=Rm.begin();it!=Rm.end();it++){
			if(it->second!=0) {
//				cout<<":"<first<<": "<second<

 

你可能感兴趣的:(ccf认证)