luogu翻译有没有素质?
查看原帖
luogu翻译有没有素质?
686297
LegendaryGrandmaster楼主2022/12/23 20:17

rt,一大堆话没写上去

建议根据其他题解补充上去

顺便问一句哪错了

#include<bits/stdc++.h>
using namespace std;

int main()
{
   	string st;
   	while(cin>>st){
		bool a=0,b=0,ok=0;
		if(st[0]=='_'||(st[0]>='A'&&st[0]<='Z')||st[st.size()-1]=='_')ok=1;
		for(int i=0;i<st.size();i++){
			if(st[i]==st[i+1]&&st[i]=='_')ok=1; 
			if(st[i]=='_'&&st[i+1]>='a'&&st[i+1]<='z')a=1;
			if(st[i]>='A'&&st[i]<='Z'&&st[i-1]!='_'&&i!=st.size()-1)b=1;
		}
		if(a&&b||ok){
			cout<<"Error!";
			return 0;
		}
		for(int i=0;i<st.size();i++)
			if(st[i]=='_')
				if(st[i+1]>='A'&&st[i+1]<='Z'){
					cout<<"Error!";
					return 0;
				}
		for(int i=0;i<st.size();i++){
			if(st[i]>='A'&&st[i]<='Z')cout<<'_'<<char(tolower(st[i]));
			else if(st[i-1]=='_')cout<<char(toupper(st[i]));
			else if(st[i]!='_')cout<<st[i];
		}
		puts("");
   	}
}
2022/12/23 20:17
加载中...