不想学习就来刷水题(不更新)
来源 学校OJ
1、这道题三目运算符优先级可把我恶心坏了 以后一定要加括号:)
题解:区间问题 一维差分就可以
/*
给定区间 [0,L],每个整数点都有一个树
和M个命令,每个命令把[L,R]树都清走
问最后还有几棵树
*/
#include<bits/stdc++.h>
using namespace std;
int L,M;
int ans;
int sum[10010];
int main()
{
while(cin>>L>>M)
{
if(!L&&!M) break;
memset(sum,0,sizeof(sum));
sum[0]=1;sum[L+1]=-1;ans=0;
for(int i=1;i<=M;i++)
{
int L,R;
scanf("%d%d",&L,&R);
if(L>R) swap(L,R);
sum[L]--;
sum[R+1]++;
}
for(int i=0;i<=L;i++)
{
if(i==0) ans=ans+sum[0]>0?1:0;
else
{
sum[i]=sum[i]+sum[i-1];
ans=ans+(sum[i]>0?1:0);
}
// cout<<i<<"--"<<sum[i]<<"--"<<ans<<endl;
}
cout<<ans<<endl;
}
return 0;
}
//1 0 0 0 0 -1
//1 -1 0 1 0 -1
//0 -1 0 2 0 -1
2、题意 一开始有美金n,你知道接下来12个月的汇率,问最多能兑换多少人民币。
题解是给汇率排个序,找出最大的汇率。 但我寻思,你不停的兑成人民币,再兑成美金,再兑成人民币,不是兑的更多吗
上网上一搜原来这样叫赚汇率差价。
//
// 1.cpp
//
//
// Created by x on 2021/1/16.
//
#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
double n,ans;
double a[13];
int main()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
// dfs(1,1,n);//1表示现在是美金
sort(a+1,a+n+1);
printf("%.2lf",n*a[12]);
return 0;
}
3、题意:一堆积木 移动最少的积木 使每一堆相同。最少移动次数=从多于平均高度的堆里拿的积木数=放入低于平均高度的积木堆里的积木数
//
// 3.cpp
// zyh
//
// Created by cumt24 on 2021/1/16.
// Copyright © 2021年 cumt24. All rights reserved.
//
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n;
int aver;
int h[55];
int main()
{
while(cin>>n)
{
if(!n) break;
aver=0;
for(int i=1;i<=n;i++) cin>>h[i],aver+=h[i];
aver=aver/n;
int ans=0,m=0,s=0;
for(int i=1;i<=n;i++)
{
if(h[i]<aver)
{
ans=ans+aver-h[i];
}
}
cout<<ans<<endl;
}
return 0;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步