大佬SOS(不开O2 #8 #9 RE)
查看原帖
大佬SOS(不开O2 #8 #9 RE)
542344
consider_hostoj楼主2022/6/12 16:58

#8

Runtime Error. Received signal 11: Segmentation fault with invalid memory reference.

#9

Runtime Error. Received signal 11: Segmentation fault with invalid memory reference.

#include <bits/stdc++.h>
using namespace std;
string n;
vector<string> v;
void init(){
	int i;
	v.push_back("zero");
	v.push_back("one");
	v.push_back("two");
	v.push_back("three");
	v.push_back("four");
	v.push_back("five");
	v.push_back("six");
	v.push_back("seven");
	v.push_back("eight");
	v.push_back("nine");
	v.push_back("ten");
	v.push_back("eleven");
	v.push_back("twelve");
	v.push_back("thirteen");
	v.push_back("fourteen");
	v.push_back("fifteen");
	v.push_back("sixteen");
	v.push_back("seventeen");
	v.push_back("eighteen");
	v.push_back("nineteen");
	v.push_back("twenty");
	for(i=1;i<=9;i++) v.push_back("");
	v.push_back("thirty");
	for(i=1;i<=9;i++) v.push_back("");
	v.push_back("forty");
	for(i=1;i<=9;i++) v.push_back("");
	v.push_back("fifty");
	for(i=1;i<=9;i++) v.push_back("");
	v.push_back("sixty");
	for(i=1;i<=9;i++) v.push_back("");
	v.push_back("seventy");
	for(i=1;i<=9;i++) v.push_back("");
	v.push_back("eighty");
	for(i=1;i<=9;i++) v.push_back("");
	v.push_back("ninety");
	return;
}
bool zeroed(int x){
	int i=x;
	while(i<=3){
		if(n[i]!='0') return 0;
		i++;
	}
	return 1;
}
int main(){
	cin>>n;
	bool anded=0;
	int th=n[0]-'0';
	int ha0=n[1]-'0';
	int ha1=(n[2]-'0')*10;
	int ha2=n[3]-'0';
	init();
	if(n[1]==0){
		cout<<v[th];return 0;
	}
	while(n.size()<4){
		n='0'+n;
	}
	if(th){
		cout<<v[th]<<" thousand ";
		if(zeroed(1)) return 0;
	}
	if(n[1]!='0'){
		cout<<v[ha0]<<" hundred ";
		if(zeroed(2)) return 0;
	}
	else{
		if(th){
			anded=1;
			cout<<"and ";
		}
	} 
	
	if(n[2]!='0'){
		cout<<v[ha1]<<' ';
	}
	else{
		if(th!=0||n[1]!=0){
			if(!anded){ anded=1;cout<<"and ";}
		}
	} 
	if(n[3]!='0'){
		cout<<v[ha2];
	}
	return 0;
}

6次Unaccepted。。。 测试点次数都用完了

2022/6/12 16:58
加载中...