2.22-2.27刷题记录

2.22

P1420 最长连号 - 洛谷

#include
using namespace std;
int a[10010];
int main(){
	int n,ans=0,l=1;
	 cin>>n;
	for(int i=0;i>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<

P1421 小玉买文具 - 洛谷

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

P1422 小玉家的电费 - 洛谷

#include
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
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<

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

#include
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<

P1425 小鱼的游泳时间 - 洛谷

#include
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
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"<

B2086 不定方程求解 - 洛谷

#include
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<

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

#include
using namespace std;
int a[110];
int main(){
	int n,ans=0,m;
	cin>>n;
	for(int i=0;i>a[i];
	cin>>m;
	for(int i=0;i

B2088 计算书费 - 洛谷

#include
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
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<

B2090 年龄与疾病 - 洛谷

#include
using namespace std;
int main(){
	int n,x;
	float a=0,b=0,c=0,d=0;
	cin>>n;
	for(int i=0;i>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
using namespace std;
int a[1010];
int main(){
	int n,b;
	long long sum=0;
	cin>>n;
	for(int i=0;i>a[i];
	for(int i=0;i>b;
		sum+=a[i]*b;
	}
	cout<

2.23

B2092 开关灯 - 洛谷

#include
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<

B2093 查找特定的值 - 洛谷

#include
using namespace std;
int a[10010];
int main(){
	int n,x,ans=-1; 
	cin>>n;
	for(int i=0;i>a[i];
	cin>>x;
	for(int i=0;i

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

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

B2096 直方图 - 洛谷

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

B2097 最长平台 - 洛谷

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

P1427 小鱼的数字游戏 - 洛谷

#include
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<

P1428 小鱼比可爱 - 洛谷

#include
using namespace std;
int a[110];
int main(){
	int n,ans;
	cin>>n;
	for(int i=0;i>a[i];
		ans=0;
		for(int j=0;j

P1482 Cantor表(升级版) - 洛谷

#include
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<

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

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

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

#include
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<

2.24

B2098 整数去重 - 洛谷

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

B2099 矩阵交换行 - 洛谷

#include
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<

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

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

B2102 计算鞍点 - 洛谷

#include
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]

B2103 图像相似度 - 洛谷

#include
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>a[i][j];
	}
	for(int i=0;i>x;
			if(x==a[i][j])	ans++;
		}
	s=1.0000*ans/(m*n);
	printf("%0.2lf",s*100);
	
	return 0;
}

B2104 矩阵加法 - 洛谷

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

P1554 梦中的统计 - 洛谷

#include
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<

P1597 语句解析 - 洛谷

#include
#include
using namespace std;

int main(){
	string s;
	int a=0,b=0,c=0;
	cin>>s;
	for(int i=1;i

P1614 爱与愁的心痛 - 洛谷

#include
#include
#include
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

P1615 西游记公司 - 洛谷

#include
#include
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
#include
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<

5P1639 [USACO18FEB] Teleportation B - 洛谷

#include
#include
using namespace std;
int main(){
	int a,b,x,y;
	cin>>a>>b>>x>>y;
	if(abs(a-x)

2.25

P1567 统计天数 - 洛谷

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

P1697 [USACO18JAN] Lifeguards B - 洛谷

#include
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>a[i].x>>a[i].y;
	for(int i=0;imax)	max=ans;
	}
	cout<

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

#include
#include
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
#include
using namespace std;
int main(){
	string s;
	cin>>s;
	int zuo=0,f=1;
	for(int i=0;i

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

#include
#include
using namespace std;
int main(){
	int t;
	long long sum,n,k;
	cin>>t;
	for(int i=0;i>n>>k;
		sum=((k+1)*k)/2;
		
		if(n>=sum)	cout<<"Yes"<

P1765 手机 - 洛谷

#include
#include
using namespace std;
int main(){
	string s;
	int ans=0;
	getline(cin,s);
	for(int i=0;i

B2106 矩阵转置 - 洛谷

#include
#include
using namespace std;
int a[110][110];
int main(){
	int n,m;
	cin>>n>>m;
	for(int i=0;i>a[i][j];
	for(int i=0;i

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

#include
#include
using namespace std;

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

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

#include
#include
using namespace std;
int a[30];
int main(){
	string s;
	int flag=0,f;
	cin>>s;
	for(int i=0;i

B2111 基因相关性 - 洛谷

#include
#include
using namespace std;
int main(){
	float x,t,ans=0;
	string a,b;
	cin>>x>>a>>b;
	for(int i=0;i=x)	cout<<"yes";
	else	cout<<"no";
	return 0;
}

B2112 石头剪子布 - 洛谷

#include
#include
using namespace std;
int main(){
	int n;
	string a,b;
	cin>>n;
	for(int i=0;i>a>>b;
		if(a.compare("Rock")==0){
			if(b.compare("Rock")==0)	cout<<"Tie"<

2.27

B2113 输出亲朋字符串 - 洛谷

#include
#include
using namespace std;
int main(){
	string s;
	char x;
	cin>>s;
	for(int i=0;i

2.28

B2114 配对碱基链 - 洛谷

#include
#include
using namespace std;
int main(){
	string s;
	cin>>s;
	for(int i=0;i

B2115 密码翻译 - 洛谷

#include
#include
using namespace std;
int main(){
	string s;
	getline(cin,s);
	for(int i=0;i'a'&&s[i]<='z'||s[i]>'A'&&s[i]<='Z')	cout<

B2116 加密的病历单 - 洛谷

#include
#include
using namespace std;
int main(){
	string s;
	cin>>s;
	for(int i=0;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<

B2117 整理药名 - 洛谷

#include
#include
using namespace std;
int main(){
	string s;
	int n,flag=0;
	cin>>n;
	for(int i=0;i>s;
		if(s[0]>='a'&&s[0]<='z'||s[0]>='A'&&s[0]<='Z') 	flag=1;//flag表示是否大小写 
		for(int i=0;i='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z'){
				if(flag){
					if(i==0)	cout<

B2118 验证子串 - 洛谷

#include
#include
using namespace std;
int main(){
	string a,b;
	cin>>a>>b;
	if(a.find(b)!=a.npos)	cout<

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

#include
#include
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>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>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<

P1830 轰炸III - 洛谷

#include
#include
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>q>>w;
		if(f[q][w]>0)	cout<<"Y "<

P1838 三子棋I - 洛谷

#include
#include
using namespace std;
int m[15],n[15],xa,xu;
int main(){
	string a,b,s;
	cin>>s;
	for(int i=0;i

P1851 好朋友 - 洛谷

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

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

#include
#include
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>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<

P1876 开灯 - 洛谷

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

2.29 错题重练

B2107 图像旋转 - 洛谷

#include
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<

B2073 求小数的某一位 - 洛谷

#include
using namespace std;
int main(){
	int a,b,n;
	cin>>a>>b>>n;
	for(int i=0;i

B2066 救援 - 洛谷

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



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

#include
#include

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
#include

using namespace std;
int main(){
	string s,x,p;
	int flag=0,ans=0;
	cin>>s;
	x=s;
	for(int i=1;i>p;
        s+=p;
	}
	cout<

P1420 最长连号 - 洛谷

#include
#include
using namespace std;
long long a[10010];
int main(){
	int n,ans=1,max_a=1;
	cin>>n;
	for(int i=0;i>a[i];
	for(int i=1;i

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

#include
#include
using namespace std;
int main(){
	int x,n;
	long long ans=0;
	cin>>x>>n;
	for(int i=0;i

你可能感兴趣的:(算法刷题,c++)