c++50分求调
  • 板块P1953 易语言
  • 楼主pbcoding
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/12/5 21:52
  • 上次更新2024/12/6 15:59:48
查看原帖
c++50分求调
1210725
pbcoding楼主2024/12/5 21:52
#include<iostream>
#define begin Begin
/*---"begin" is ambiguous TOO !---*/
#define ull unsigned long long
#define ll long long
#define DEBUG 0
using namespace std;

string s;
string Main="", Extend="";
string Main2="", Extend2="";
bool ExInt, ExInt2;
int begin=0;

void Look(string& Main, string& Extend, int& begin, bool& ExInt, string s){
	Main="";
	Extend="";
	Main2="";
	Extend2="";
	bool OpEx=0;
	ExInt = 1;
	for(int i=0;i<s.size();i++){
		if(s[i]=='.'){
			OpEx = 1;
		}
		if('0'<=s[i]&&s[i]<='9'){
			begin = begin*10+s[i]-'0';
			if(OpEx==0){
				ExInt = 0;
			}
		}
		else if(OpEx==1){
			Extend += s[i];
		}
		else{
			Main += s[i];
		}
	}
}

int main(){
	getline(cin, s);
	if(!('0'<=s[0]&&s[0]<='9')){
		int cut;
		for(int i=0;i<s.size();i++){
			if(s[i]==' '){
				cut = i;
				break;
			}
		}
		string a=s.substr(0, cut);
		string b=s.substr(cut+1);
		Look(Main, Extend, begin, ExInt, a);
		Extend2 = "."+b;
		string tp;
		int count=0;
		while(cin >> tp){
			count++;
		}
		count /= 2;
		for(int i=1;i<=count;i++,begin++){
			if(ExInt==0){
				cout << Main << begin << Extend << " " << Main << begin << Extend2 << endl;
			}
			else{
				cout << Main << Extend << begin << " " << Main << Extend2 << begin << endl;
			}
		}
	}
	else{
		if(s=="0"){
			begin = 0;
		}
		else{
			begin = 1;
		}
		string tpa, tpb;
		while(cin >> tpa >> tpb){
			int tpint;
			Look(Main, Extend, tpint, ExInt, tpa);
			Look(Main2, Extend2, tpint, ExInt2, tpb);
			if(ExInt==0){
				cout << Main << begin << Extend << " " << Main2 << begin << Extend2 << "\n";
			}
			else{
				cout << Main << Extend << begin << " " << Main2 << Extend2 << begin << "\n";
			}
			begin++;
		}
	}
	return 0;
}

记录

#2 #3 #7 似乎是第二种情况错误❌
#8 #10 不知道为什么输出了ASCII 13(CR)\texttt{ASCII 13(CR)}

2024/12/5 21:52
加载中...