POJ 2803 Defining Moment 模拟 G++

博客内容主要是要将n条带有前缀和后缀的单词翻译成同义词组,聚焦于单词翻译转换这一信息技术相关操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <iostream>
#include <string>
using namespace std;
//wa 
//uner
//not er 
//ee
//没结果 
int main()
{
	int n;
	cin>>n;
	//cout<<n<<endl;
	while(n)
	{
		n--;
		string s;
		cin>>s;
		//cout<<s<<endl;
		string ts;//word
		ts.clear();
		string jg;
		jg.clear();
		//去前缀 
		if(s.substr(0,4)=="anti")
		{
			ts=s.substr(4,s.size());
		}else if(s.substr(0,4)=="post")
		{
			ts=s.substr(4,s.size());
		}else if(s.substr(0,3)=="pre")
		{
			ts=s.substr(3,s.size());
		}else if(s.substr(0,2)=="re")
		{
			ts=s.substr(2,s.size());
		}else if(s.substr(0,2)=="un")
		{
			ts=s.substr(2,s.size());
		}else 
		{
			ts=s;
		}
		//cout<<"hi1"<<endl; 
		//cout<<"ts "<<ts<<endl;
		//去后缀 
		//cout<<s.substr(s.size()-2,s.size())<<endl;
		//cout<<s.substr(0,s.size()-2)<<endl;
		//int ttt=s.size();
		int flag=0;
		if(s.size()>=4)//重要 
		{
			//cout<<(s.size()-4)<<endl;
			//cout<<"hi1"<<endl;
			if(s.substr(s.size()-4,s.size())=="tion") 
			{
				//cout<<"hi11"<<endl;
				flag=1;
				jg="the process of ";
				jg=jg+ts.substr(0,ts.size()-4)+"ing";
			}
		}
		if(s.size()>=3)
		{
			//cout<<((s.size()-3)>=0)<<endl;
			//cout<<"hi2"<<endl;
			if(s.substr(s.size()-3,s.size())=="ing") 
			{
				//cout<<"hi21"<<endl;
				flag=1;
				jg="to actively ";
				jg=jg+ts.substr(0,ts.size()-3);
			}else if(s.substr(s.size()-3,s.size())=="ize") 
			{
				//cout<<"hi22"<<endl;
				flag=1;
				jg="change into ";
				jg=jg+ts.substr(0,ts.size()-3);
			}					
		}
		if(s.size()>=2)
		{
			//cout<<((s.size()-2)>=0)<<endl;
			//cout<<"hi3"<<endl;
			if(s.substr(s.size()-2,s.size())=="er")
			{
				flag=1;
				//cout<<"hi31"<<endl;
				jg="one who ";
				jg=jg+ts.substr(0,ts.size()-2)+"s";
			}
		}
		if(s.size()>=1)
		{
			//cout<<((s.size()-1)>=0)<<endl;
			//cout<<"hi4"<<endl;
			if(s.substr(s.size()-1,s.size())=="s") 
			{
				flag=1;
				//cout<<"hi41"<<endl;
				jg="multiple instances of ";
				jg=jg+ts.substr(0,ts.size()-1);
			}			
		}
		if(flag==0)
		{
			//cout<<"hi5"<<endl;
			jg=ts;
		}
		//cout<<"jg "<<jg<<endl;
		//cout<<"hi2"<<endl;
		string sc;
		sc.clear();
		if(s.substr(0,4)=="anti")
		{
			sc="against ";
			sc=sc+jg;
		}else if(s.substr(0,4)=="post")
		{
			sc="after ";
			sc=sc+jg;
		}else if(s.substr(0,3)=="pre")
		{
			sc="before ";
			sc=sc+jg;
		}else if(s.substr(0,2)=="re")
		{
			sc=jg;
			sc=sc+" again";
		}else if(s.substr(0,2)=="un")
		{
			sc="not ";
			sc=sc+jg;
		}else
		{
			sc=jg;
		}			
		//cout<<"sc "<<sc<<endl;
		cout<<sc<<endl;
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值