2.22-2.27刷题记录

2.22

P1420 最长连号 - 洛谷

#include<iostream>
using namespace std;
int a[10010];
int main(){
	int n,ans=0,l=1;
	 cin>>n;
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	for(int i=1;i<=n;i++){
		if(a[i]-a[i-1]==1){
			l++;
		}else	l=1;
		if(l>ans)	ans=l;
	}
	cout<<ans;
	return 0;
}

P1421 小玉买文具 - 洛谷

#include<iostream>
using namespace std;
int main(){
	int a,b,bi=19,yu;
	cin>>a>>b;
	yu=a*10+b;
	cout<<yu/bi;
	
	return 0;
}

P1422 小玉家的电费 - 洛谷

#include<iostream>
using namespace std;
int main(){
	int d;
	double sum=0;
	cin>>d;
	if(d<=150)	sum=d*0.4463 ;
	else if(d>150&&d<=400)  sum=150*0.4463+(d-150)*0.4663;
	else	sum=150*0.4463+250*0.4663+(d-400)*0.5663;
	printf("%0.1lf",sum);
	
	return 0;
}

P1423 小玉在游泳 - 洛谷

#include<iostream>
using namespace std;
int main(){
	double s,init=2,p=0;
	long long ans=0;
	cin>>s;
	while(s>=p){
		p+=init;
		ans++;
		init*=0.98;
	}
	cout<<ans;
	
	return 0;
}

P1424 小鱼的航程(改进版) - 洛谷

#include<iostream>
using namespace std;
int main(){
	int x,n;
	long long sum=0;
	cin>>x>>n;
	while(n){
		if(x!=6&&x!=7){
			sum+=250;//除了周六周天,其他均增加 
		}
		if(x==7)	x=1;//x的变化 
		else	x++;
		n--;
	}
	cout<<sum;
	return 0;
}

P1425 小鱼的游泳时间 - 洛谷

#include<iostream>
using namespace std;
int main(){
	int a,b,c,d,start=0,end=0;
	cin>>a>>b>>c>>d;
	start=a*60+b;
	end=c*60+d;
	cout<<(end-start)/60<<" "<<(end-start)%60;
	 
	return 0;
}

P1426 小鱼会有危险吗 - 洛谷

#include<iostream>
using namespace std;
int main(){
	double s,x,init=7,sum=0;
	cin>>s>>x;
	while(sum<=(s-x)){
		sum+=init;
		init*=0.98;
	}
	//cout<<"a"<<sum<<" "<<init<<" "<<s-x<<" "<<s+x; 
	if(sum+init<=(s+x))	cout<<"y";
	else	cout<<"n";
	return 0;
}

B2086 不定方程求解 - 洛谷

#include<iostream>
using namespace std;
int main(){
	int a,b,c,ans=0,x=0,y;
	cin>>a>>b>>c;
	while(1){
		if(a*x>c)	break;
		y=(c-a*x)/b;
		if((a*x+b*y)==c)	ans++;
		x++;
	}
	cout<<ans;
	return 0;
}

B2087 与指定数字相同的数的个数 - 洛谷

#include<iostream>
using namespace std;
int a[110];
int main(){
	int n,ans=0,m;
	cin>>n;
	for(int i=0;i<n;i++)	cin>>a[i];
	cin>>m;
	for(int i=0;i<n;i++){
		if(a[i]==m)	ans++;
	}
	cout<<ans;
	return 0;
}

B2088 计算书费 - 洛谷

#include<iostream>
using namespace std;
float a[10]={28.9,32.7,45.6,78,35,86.2,27.8,43,56,65};
int main(){
	double sum=0,k;
	for(int i=0;i<10;i++){
		cin>>k;
		sum+=k*a[i];
	}
	printf("%0.1lf",sum);
	return 0;
}

B2089 数组逆序重存放 - 洛谷

#include<iostream>
using namespace std;
int a[110];
int main(){
	int n,tmp;
	cin>>n;
	for(int i=1;i<=n;i++)	cin>>a[i];
	for(int i=1;i<=n/2;i++){
		tmp=a[i];
		a[i]=a[n-i+1];
		a[n-i+1]=tmp;
		
	}
	for(int i=1;i<=n;i++)	cout<<a[i]<<" ";
	return 0;
}

B2090 年龄与疾病 - 洛谷

#include<iostream>
using namespace std;
int main(){
	int n,x;
	float a=0,b=0,c=0,d=0;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>x;
		if(x<19)	a++;
		else if(x>18&&x<36)	b++;
		else if(x>35&&x<61)	c++;
		else	d++;
	}
	a=a/n,b/=n,c/=n,d/=n;
	printf("%0.2f%%\n%0.2f%%\n%0.2f%%\n%0.2f%%",a*100,b*100,c*100,d*100);
	
	return 0;
}

B2091 向量点积计算 - 洛谷

#include<iostream>
using namespace std;
int a[1010];
int main(){
	int n,b;
	long long sum=0;
	cin>>n;
	for(int i=0;i<n;i++)	cin>>a[i];
	for(int i=0;i<n;i++){
		cin>>b;
		sum+=a[i]*b;
	}
	cout<<sum;
	return 0;
}

2.23

B2092 开关灯 - 洛谷

#include<iostream>
using namespace std;
bool l[5010];
int main(){
	int n;
	cin>>n;
	for(int i=2;i<=n;i++){//遍历每个人 
		for(int j=1;j<=n;j++){//每个人对灯的操作 
			if(j%i==0)	l[j]=!l[j];
		}
	}
	for(int i=1;i<=n;i++){
		if(!l[i])	cout<<i<<" ";
	}
	return 0;
}

B2093 查找特定的值 - 洛谷

#include<iostream>
using namespace std;
int a[10010];
int main(){
	int n,x,ans=-1; 
	cin>>n;
	for(int i=0;i<n;i++)	cin>>a[i];
	cin>>x;
	for(int i=0;i<n;i++){
		if(a[i]==x&&ans==-1)	ans=i;
	}
	cout<<ans;
	return 0;
}

B2094 不与最大数相同的数字之和 - 洛谷

#include<iostream>
using namespace std;
int main(){
	int n,same=0;
	long long sum=0,max=-1000000,p;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>p;
		if(p>max)	max=p,same=1;
		else if(p==max)	same++;
		sum+=p;
	}
	cout<<sum-max*same;
	
	return 0;
}

B2096 直方图 - 洛谷

#include<iostream>
using namespace std;
int a[100010];
int main(){
	int n,max=-1,x;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>x;
		if(x>max)	max=x;
		a[x]++;
	}
	for(int i=0;i<=max;i++){
		cout<<a[i]<<endl;
	}
	return 0;
}

B2097 最长平台 - 洛谷

#include<iostream>
using namespace std;
int a[110];
int main(){
	int n,l=0,m=1,ans=1;
	cin>>n;
	for(int i=0;i<n;i++)	cin>>a[i];
	for(int i=1;i<n;i++){
		if(a[i]==a[i-1])	m++;
		else	m=1;
		
		if(m>ans)	ans=m,l=a[i];
	}
	cout<<ans;
	return 0;
}

P1427 小鱼的数字游戏 - 洛谷

#include<iostream>
using namespace std;
int a[110];
int main(){
	int x,i;
	for(i=0;;i++){
		cin>>a[i];
		if(a[i]==0)	break;
	}
	for(int k=i-1;k>=0;k--)	cout<<a[k]<<" ";
	
	return 0;
}

P1428 小鱼比可爱 - 洛谷

#include<iostream>
using namespace std;
int a[110];
int main(){
	int n,ans;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>a[i];
		ans=0;
		for(int j=0;j<i;j++){
			if(a[j]<a[i])	ans++;
		}
		cout<<ans<<" ";
	}
	return 0;
}

P1482 Cantor表(升级版) - 洛谷

#include<iostream>
using namespace std;
int gcd(int a,int b){
	if(!b)	return a; //递归停止条件 
	else	return gcd(b,a%b);
}

int main(){
	int a,b,c,d,zi,mu,i;
	scanf("%d/%d\n%d/%d",&a,&b,&c,&d);
	zi=a*c,mu=b*d;
	int yue=gcd(zi,mu);
	cout<<mu/yue<<" "<<zi/yue;
	return 0;
}

P1534 不高兴的津津(升级版) - 洛谷

#include<iostream>
using namespace std;
int main(){
	int n,s,k,happy=0,sum=0;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>s>>k;
		happy=happy+s+k-8;
		sum+=happy;
	}
	cout<<sum;
	return 0;
}

P1548 [NOIP 1997 普及组] 棋盘问题 - 洛谷

#include<iostream>
using namespace std;
int main(){
	int n,m,z=0,c=0;
	cin>>n>>m;
	for(int i=0;i<=m;i++){//枚举,暴解 
		for(int j=0;j<=n;j++){
			for(int x=i+1;x<=m;x++){
				for(int k=j+1;k<=n;k++){
					if((x-i)==(k-j))	z++;//正方形 
					else	c++;//长方形 
				}
			}
		}
	}
	cout<<z<<" " <<c;
	return 0;
}

2.24

B2098 整数去重 - 洛谷

#include<iostream>
using namespace std;
int a[110];
int main(){
	int n,x;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>x;
		if(a[x]==0)	a[x]=1,cout<<x<<" ";
	}
	
	return 0;
}

B2099 矩阵交换行 - 洛谷

#include<iostream>
using namespace std;
int a[10][10];
int main(){
	int n,m,tmp;
	for(int i=1;i<=5;i++)
		for(int j=1;j<=5;j++)
			cin>>a[i][j];
	cin>>m>>n;
	for(int j=1;j<=5;j++){
		tmp=a[m][j];
		a[m][j]=a[n][j];
		a[n][j]=tmp;
	}
	for(int i=1;i<=5;i++){
		for(int j=1;j<=5;j++){
			cout<<a[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}

B2100 同行列对角线的格 - 洛谷

#include<iostream>
using namespace std;
int main(){
	int n,i,j;
	cin>>n>>i>>j;
	for(int m=1;m<=n;m++){
		cout<<"("<<i<<","<<m<<") ";//行,行相同 
	}
	cout<<endl;
	for(int m=1;m<=n;m++){
		cout<<"("<<m<<","<<j<<") ";//列,列相同 
	}
	cout<<endl;
	for(int m=1;m<=n;m++){ //
		for(int k=1;k<=n;k++){//左上到右下, 横纵坐标之差相同 
			if((m-k)==(i-j)) cout<<"("<<m<<","<<k<<") ";	
		}
	}
	cout<<endl;
	for(int m=n;m>0;m--){
		for(int k=1;k<=n;k++){//左下到右上,横纵坐标之和相同 
			if((m+k)==(i+j))	cout<<"("<<m<<","<<k<<") ";
		}
	}
	cout<<endl;
	
	return 0;
}

B2102 计算鞍点 - 洛谷

#include<iostream>
using namespace std;
int max_h[10],min_l[10],a[10][10];
int main(){
	int min,max,flag=0;
	for(int i=1;i<=5;i++){
		for(int j=1;j<=5;j++){
			cin>>a[i][j];
		}
	}
	
	for(int i=1;i<=5;i++){
		max=a[i][1],max_h[i]=max;
		for(int j=1;j<=5;j++){
			if(a[i][j]>max)	max=a[i][j],max_h[i]=max;//行最大值 
		}
	}
	for(int i=1;i<=5;i++){
		min=a[1][i],min_l[i]=min;
		for(int j=1;j<=5;j++){
			if(a[j][i]<min)	min=a[j][i],min_l[i]=min;//列最小值 
		}
	}
	for(int i=1;i<=5;i++){
		for(int j=1;j<=5;j++){
			//cout<<i<<" "<<max_h[i]<<" "<<j<<" "<<min_l[i]<<endl;
			if(a[i][j]==max_h[i]&&a[i][j]==min_l[j])	flag=1,cout<<i<<" "<<j<<" "<<a[i][j];
		}
	}
	if(!flag)	cout<<"not found";
	return 0;
}

B2103 图像相似度 - 洛谷

#include<iostream>
using namespace std;
int a[110][110];
int main(){
	int m,n,ans=0,x;
	float s;
	cin>>m>>n;
	for(int i=0;i<m;i++){
		for(int j=0;j<n;j++)	cin>>a[i][j];
	}
	for(int i=0;i<m;i++)
		for(int j=0;j<n;j++){
			cin>>x;
			if(x==a[i][j])	ans++;
		}
	s=1.0000*ans/(m*n);
	printf("%0.2lf",s*100);
	
	return 0;
}

B2104 矩阵加法 - 洛谷

#include<iostream>
using namespace std;
int a[110][110];
int main(){
	int n,m,x;
	cin>>n>>m;
	for(int i=0;i<n;i++)
		for(int j=0;j<m;j++)
			cin>>a[i][j];
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			cin>>x;
			cout<<a[i][j]+x<<" ";
		}
		cout<<endl;
	}
	return 0;
}

P1554 梦中的统计 - 洛谷

#include<iostream>
using namespace std;
int a[15];
int main(){
	int m,n,x;
	cin>>m>>n;
	for(int i=m;i<=n;i++){
		x=i;
		while(x){
			a[x%10]++;
			x/=10;
		}
	}
	for(int i=0;i<10;i++)	cout<<a[i]<<" ";
	return 0;
}

P1597 语句解析 - 洛谷

#include<iostream>
#include<string>
using namespace std;

int main(){
	string s;
	int a=0,b=0,c=0;
	cin>>s;
	for(int i=1;i<s.size();i++){
		if(s[i]==';'){
			if(s[i-4]=='a'){
				if(s[i-1]=='a')	a=a;
				else if(s[i-1]=='b')	a=b;
				else if(s[i-1]=='c')	a=c;
				else{
					a=int(s[i-1]-'0');
				}
			}else if(s[i-4]=='b'){
				if(s[i-1]=='a')	b=a;
				else if(s[i-1]=='b')	b=b;
				else if(s[i-1]=='c')	b=c;
				else{
					b=int(s[i-1]-'0');
				}
			}else{
				if(s[i-1]=='a')	c=a;
				else if(s[i-1]=='b')	c=b;
				else if(s[i-1]=='c')	c=c;
				else{
					c=int(s[i-1]-'0');
				}
				
			}
		}
	}
	cout<<a<<" "<<b<<" "<<c;
	return 0;
}

P1614 爱与愁的心痛 - 洛谷

#include<iostream>
#include<string>
#include<limits.h>
using namespace std;
int a[3010];
int main(){
	int n,m,min=INT_MAX,sum,x;
	cin>>n>>m;
	for(int i=1;i<=n;i++)	cin>>a[i];
	for(int i=m;i<=n;i++){
		sum=0;
		for(int j=i;j>i-m;j--){
			sum+=a[j];
		}
		if(sum<min)	min=sum;
	}
	cout<<min;
	return 0;
}

P1615 西游记公司 - 洛谷

#include<iostream>
#include<string.h>
using namespace std;
int main(){
	long long a,b,c,d,e,f,n;
	scanf("%lld:%lld:%lld\n%lld:%lld:%lld",&a,&b,&c,&d,&e,&f);
	cin>>n;
	long long o,t;
	o=a*3600+b*60+c;
	t=d*3600+e*60+f;
	cout<<(t-o)*n;
	return 0;
}

P1634 禽兽的传染病 - 洛谷

#include<iostream>
#include<string.h>
using namespace std;
int main(){
	long long x,n,ans=1,sum=1;
	cin>>x>>n;
	
	while(n){
		ans*=x;		
		sum+=ans;
		ans=sum;
		n--;
	}
	cout<<sum;
	return 0;
}

5P1639 [USACO18FEB] Teleportation B - 洛谷

#include<iostream>
#include<string.h>
using namespace std;
int main(){
	int a,b,x,y;
	cin>>a>>b>>x>>y;
	if(abs(a-x)<abs(a-y)){
		cout<<min(abs(a-b),abs(a-x)+abs(b-y));
	}else{
		cout<<min(abs(a-b),abs(a-y)+abs(b-x));
	}
	
	return 0;
}

2.25

P1567 统计天数 - 洛谷

#include<iostream>
using namespace std;
int main(){
	int n,ans=1,q=-1,h,max=-1;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>h;
		if(q<h)	ans++;
		else{
			ans=1;
		}
		if(ans>max)	max=ans;
		q=h;
	}
	cout<<max;
	
	return 0;
}

P1697 [USACO18JAN] Lifeguards B - 洛谷

#include<iostream>
using namespace std;
int f[1010];
struct node{
	int x,y;
}a[110];
int main(){
	int n,ans,max=0;
	cin>>n;
	for(int i=0;i<n;i++)	cin>>a[i].x>>a[i].y;
	for(int i=0;i<n;i++){//遍历 解雇的救生员
		ans=0;
		for(int k=0;k<=1000;k++)	f[k]=0;//标记数组初始化 
		for(int j=0;j<n;j++){ 
			if(i!=j){
				
				for(int m=a[j].x;m<a[j].y;m++){
					if(!f[m])	f[m]=1,ans++;
				}
				
			}
		}
		if(ans>max)	max=ans;
	}
	cout<<max;
	return 0;
}

P1720 月落乌啼算钱(斐波那契数列) - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	double sum=0,gen5=sqrt(5);
	cin>>n;
	sum=(pow((1.0+gen5)/2,n)-pow((1.0-gen5)/2,n))/gen5;
	printf("%0.2lf",sum);
	
	return 0;
}

P1739 表达式括号匹配 - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;
	cin>>s;
	int zuo=0,f=1;
	for(int i=0;i<s.size();i++){
		if(s[i]=='(')	zuo++;
		else if(s[i]==')')	zuo--;//左括号+,右括号-,当zuo==0时,左右括号个数相等 
		if(zuo<0){//先出现右括号 )(2+3)(,左右括号个数相等,但不匹配 
			f=0;
			break;
		}
	}
	if(f&&zuo==0)	cout<<"YES";
	else	cout<<"NO";
	return 0;
}

P1749 [入门赛 #19] 分饼干 II - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
	int t;
	long long sum,n,k;
	cin>>t;
	for(int i=0;i<t;i++){
		cin>>n>>k;
		sum=((k+1)*k)/2;
		
		if(n>=sum)	cout<<"Yes"<<endl;
		else	cout<<"No"<<endl;
	}
	return 0;
}

P1765 手机 - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;
	int ans=0;
	getline(cin,s);
	for(int i=0;i<s.size();i++){
		if(s[i]=='a'||s[i]=='d'||s[i]=='g'||s[i]=='j'||s[i]=='m'||s[i]=='p'||s[i]=='t'||s[i]=='w'||s[i]==' ')	ans++;
		else if(s[i]=='b'||s[i]=='e'||s[i]=='h'||s[i]=='k'||s[i]=='n'||s[i]=='q'||s[i]=='u'||s[i]=='x')	ans+=2;
		else if(s[i]=='c'||s[i]=='f'||s[i]=='i'||s[i]=='l'||s[i]=='o'||s[i]=='r'||s[i]=='v'||s[i]=='y')	ans+=3;
		else if(s[i]=='s'||s[i]=='z')	ans+=4;
		
		
	}
	cout<<ans;
	return 0;
}

B2106 矩阵转置 - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int a[110][110];
int main(){
	int n,m;
	cin>>n>>m;
	for(int i=0;i<n;i++)
		for(int j=0;j<m;j++)
			cin>>a[i][j];
	for(int i=0;i<m;i++){
		for(int j=0;j<n;j++)
			cout<<a[j][i]<<" ";
		cout<<endl;
	}
		
	return 0;
}

B2109 统计数字字符个数 - 洛谷

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

int main(){
	string s;
	int ans=0;
	getline(cin,s);
	for(int i=0;i<s.size();i++){
		if(s[i]>='0'&&s[i]<='9')	ans++;
	}
	cout<<ans;
	return 0;
}

B2110 找第一个只出现一次的字符 - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int a[30];
int main(){
	string s;
	int flag=0,f;
	cin>>s;
	for(int i=0;i<s.size();i++){
		a[s[i]-'a'+1]++;
	}
	for(int i=0;i<s.size();i++){
		if(a[s[i]-'a'+1]==1){
			flag=1;
			cout<<s[i];
			break;
		}
	}
	if(!flag)	cout<<"no";
	return 0;
}

B2111 基因相关性 - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
	float x,t,ans=0;
	string a,b;
	cin>>x>>a>>b;
	for(int i=0;i<a.size();i++){
		if(a[i]==b[i])	ans++;
	}
	if(ans/a.size()>=x)	cout<<"yes";
	else	cout<<"no";
	return 0;
}

B2112 石头剪子布 - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	string a,b;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>a>>b;
		if(a.compare("Rock")==0){
			if(b.compare("Rock")==0)	cout<<"Tie"<<endl;
			else if(b.compare("Scissors")==0)	cout<<"Player1"<<endl;
			else	cout<<"Player2"<<endl;
		}else if(a.compare("Scissors")==0){
			if(b.compare("Rock")==0)	cout<<"Player2"<<endl;
			else if(b.compare("Scissors")==0)	cout<<"Tie"<<endl;
			else	cout<<"Player1"<<endl;
		}else{
			if(b.compare("Rock")==0)	cout<<"Player1"<<endl;
			else if(b.compare("Scissors")==0)	cout<<"Player2"<<endl;
			else	cout<<"Tie"<<endl;
		}
	}
	return 0;
}

2.27

B2113 输出亲朋字符串 - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;
	char x;
	cin>>s;
	for(int i=0;i<s.size()-1;i++){
		x=s[i]+s[i+1];
		cout<<x;
	}
	x=s[s.size()-1]+s[0];
	cout<<x;
	return 0;
}

2.28

B2114 配对碱基链 - 洛谷

#include<bits/stdc++.h>
#include<iostream>
using namespace std;
int main(){
	string s;
	cin>>s;
	for(int i=0;i<s.size();i++){
		if(s[i]=='A')	cout<<'T';
		else if(s[i]=='T')	cout<<'A';
		else if(s[i]=='C')	cout<<'G';
		else	cout<<'C';
	}
	return 0;
}

B2115 密码翻译 - 洛谷

#include<bits/stdc++.h>
#include<iostream>
using namespace std;
int main(){
	string s;
	getline(cin,s);
	for(int i=0;i<s.size();i++){
		if(s[i]>'a'&&s[i]<='z'||s[i]>'A'&&s[i]<='Z')	cout<<char(s[i]-1);
		else if(s[i]=='a'||s[i]=='A')	cout<<char(s[i]+25);
		else	cout<<s[i];
	}
	return 0;
}

B2116 加密的病历单 - 洛谷

#include<bits/stdc++.h>
#include<iostream>
using namespace std;
int main(){
	string s;
	cin>>s;
	for(int i=0;i<s.size();i++){
		if(s[i]>='a'&&s[i]<='z'){
			s[i]-=32;
			if(s[i]=='X')	s[i]='A';
			else if(s[i]=='Y')	s[i]='B';
			else if(s[i]=='Z')	s[i]='C';
			else	s[i]+=3;
		}
		else{	
			s[i]+=32;
			if(s[i]=='x')	s[i]='a';
			else if(s[i]=='y')	s[i]='b';
			else if(s[i]=='z')	s[i]='c';
			else	s[i]+=3;
		}
	}
	for(int i=s.size()-1;i>=0;i--)	cout<<s[i];
	return 0;
}

B2117 整理药名 - 洛谷

#include<bits/stdc++.h>
#include<iostream>
using namespace std;
int main(){
	string s;
	int n,flag=0;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>s;
		if(s[0]>='a'&&s[0]<='z'||s[0]>='A'&&s[0]<='Z') 	flag=1;//flag表示是否大小写 
		for(int i=0;i<s.size();i++){
			if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z'){
				if(flag){
					if(i==0)	cout<<char(toupper(s[i]));
					else	cout<<char(tolower(s[i]));
				}else{
					cout<<char(tolower(s[i]));
				}
			}else	cout<<s[i];
			
		}
		cout<<endl;
	}
	
	

	return 0;
}

B2118 验证子串 - 洛谷

#include<bits/stdc++.h>
#include<iostream>
using namespace std;
int main(){
	string a,b;
	cin>>a>>b;
	if(a.find(b)!=a.npos)	cout<<b<<" is substring of "<<a;
	else if(b.find(a)!=b.npos)	cout<<a<<" is substring of "<<b;
	else	cout<<"No substring";
	return 0;
}

P1789 【Mc生存】插火把 - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int  f[110][110];
int main(){
	int n,m,k,ans=0;
	int a,b,c,d;
	cin>>n>>m>>k;
	for(int i=0;i<m;i++){
		cin>>a>>b;
		for(int i=max(1,a-2);i<=min(n,a+2);i++){
			for(int j=max(1,b-2);j<=min(n,b+2);j++){
				f[i][b]=1,f[a][j]=1;
			}
		}
		f[a-1][b-1]=1,f[a+1][b-1]=1,f[a-1][b+1]=1,f[a+1][b+1]=1;
	}
	for(int i=0;i<k;i++){
		cin>>c>>d;
		for(int i=max(1,c-2);i<=min(n,c+2);i++){
			for(int j=max(1,d-2);j<=min(n,d+2);j++)
				f[i][j]=1;
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(f[i][j]==0)	ans++;
		}
	}
	cout<<ans;
	return 0;
}

P1830 轰炸III - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int  f[110][110],last[110][110];
int main(){
	int n,m,x,y,a,b,c,d,q,w;
	cin>>n>>m>>x>>y;
	for(int k=1;k<=x;k++){
		cin>>a>>b>>c>>d;
		for(int i=a;i<=c;i++){
			for(int j=b;j<=d;j++){
				f[i][j]++,last[i][j]=k;
			}
		}
	}
	for(int i=0;i<y;i++){
		cin>>q>>w;
		if(f[q][w]>0)	cout<<"Y "<<f[q][w]<<" "<<last[q][w]<<endl;
		else	cout<<"N"<<endl;
	}
	return 0;
}

P1838 三子棋I - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int m[15],n[15],xa,xu;
int main(){
	string a,b,s;
	cin>>s;
	for(int i=0;i<s.size();i++){
		
		if(i%2==0)	m[int(s[i]-'0')]=1;
		else	n[int(s[i]-'0')]=1;
	}	
	if(m[1]&&m[2]&&m[3]||m[4]&&m[5]&&m[6]||m[7]&&m[8]&&m[9]||m[1]&&m[4]&&m[7]||m[2]&&m[5]&&m[8]||m[3]&&m[6]&&m[9]||m[1]&&m[5]&&m[9]||m[3]&&m[5]&&m[7])
		xa=1;
	if(n[1]&&n[2]&&n[3]||n[4]&&n[5]&&n[6]||n[7]&&n[8]&&n[9]||n[1]&&n[4]&&n[7]||n[2]&&n[5]&&n[8]||n[3]&&n[6]&&n[9]||n[1]&&n[5]&&n[9]||n[3]&&n[5]&&n[7])
		xu=1;
	if(xa&&!xu)	cout<<"xiaoa wins.";
	else if(!xa&&xu)	cout<<"uim wins.";
	else	cout<<"drew.";
	return 0;
}

P1851 好朋友 - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
long long yueshuhe(long long n){
	long long sum=0;
	for(int i=1;i<n;i++){
		if(n%i==0)	sum+=i;
	}
	return sum;
}
int main(){
	long long s,a,b;
	cin>>s;
	for(long long i=s;;i++){
		a=i,b=yueshuhe(a);
		if(a==yueshuhe(b)&&a!=b)	break;//自己和自己不是非常好友的情况下 
	}
	cout<<a<<" "<<b;
	return 0;
}

P1867 【Mc生存】经验值 - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,a,m=0,t=0,dj=1;
	double x,ming=10;//double类型 
	cin>>n;
	for(int i=0;i<n;i++) {
		cin>>x>>a;
		if(ming-x>0.0){
			ming=min(double(10),ming-x);//生命值有上限 
			t+=a;
			while(t>=pow(2,m)){
				t-=pow(2,m);
				m++;
			}
		}else{
			break;//生命值为0,直接结束 
		}
	}
	cout<<m<<" "<<t;

	
	return 0;
}

P1876 开灯 - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
	long long n,ans=0;
	cin>>n;
	for(long long i=1;i*i<=n;i++)//找完全平方数,确保i*i在给定范围内 
		cout<<i*i<<" ";
	return 0;
}

2.29 错题重练

B2107 图像旋转 - 洛谷

#include<iostream>
using namespace std;
int a[110][110];
int main(){
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)	cin>>a[i][j];
	for(int i=1;i<=m;i++){
		for(int j=n;j>0;j--)	cout<<a[j][i]<<" ";
		cout<<endl;
	}
	return 0;
}

B2073 求小数的某一位 - 洛谷

#include<iostream>
using namespace std;
int main(){
	int a,b,n;
	cin>>a>>b>>n;
	for(int i=0;i<n;i++){
        a%=b,a*=10;
	}
	cout<<int(a/b);
	return 0;
}

B2066 救援 - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
	long long n;
	double x,y,ans=0,p;
	cin>>n;
	for(int i=0;i<n;i++){
        cin>>x>>y>>p;
        ans+=2.0*sqrt(x*x+y*y)/50;
        ans+=1.5*p;
	}
	cout<<int(ceil(ans));
	return 0;
}



P1401 [入门赛 #18] 禁止在 int 乘 int 时不开 long long - 洛谷

#include<iostream>
#include<bits/stdc++.h>

using namespace std;
int main(){
	long long a,b,c,d,shang,xia;
	shang=2147483647,xia=-2147483648;
	cin>>a>>b>>c>>d;
	if(a*c>=xia&&a*c<=shang&&a*d>=xia&&a*d<=shang&&b*c>=xia&&b*c<=shang&&b*d>=xia&&b*d<=shang)
        cout<<"int";
    else    cout<<"long long int";
	return 0;
}

P1320 压缩技术(续集版) - 洛谷

#include<iostream>
#include<bits/stdc++.h>

using namespace std;
int main(){
	string s,x,p;
	int flag=0,ans=0;
	cin>>s;
	x=s;
	for(int i=1;i<x.size();i++){
        cin>>p;
        s+=p;
	}
	cout<<sqrt(s.size())<<" ";
	for(int i=0;i<s.size();i++){
        if(s[i]=='0'){
            if(flag==0) ans++;
            else    cout<<ans<<" ",ans=1,flag=0;
        }else{
            if(flag==0) cout<<ans<<" ",ans=1,flag=1;
            else    ans++;
        }
	}
	cout<<ans;
	return 0;
}

P1420 最长连号 - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
long long a[10010];
int main(){
	int n,ans=1,max_a=1;
	cin>>n;
	for(int i=0;i<n;i++)    cin>>a[i];
	for(int i=1;i<n;i++){
        if(a[i]-a[i-1]==1){
              ans++;
              if(max_a<ans) max_a=ans;
        }
        else    ans=1;
	}
	cout<<max_a;
	return 0;
}

P1424 小鱼的航程(改进版) - 洛谷

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
	int x,n;
	long long ans=0;
	cin>>x>>n;
	for(int i=0;i<n;i++){
        if(x!=7&&x!=6)  ans+=250;
        if(x==7)    x=1;
        else x++;
        //cout<<"a"<<x<<" "<<ans<<endl;
	}
	cout<<ans;
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值