这场比赛打完,我自闭了。感觉跟我们学校的校赛是完全不同的风格。我校校赛的特点是繁,代码量大lzh大毒瘤。而贵校的校赛题思维难度很大,做着做着就自闭了。
A 拯救咕咕咕之史莱姆
这题是思维题,稍微绕了点弯,其实是签到题。不过蒟蒻还是没考虑清楚,WA了一发。赛场上,我看了看样例输入,猜了一个的分界线,居然AC了,可见数据弱。不过签到题问题不大。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll n;
while(cin>>n&&n){
if(n<=75)puts("AOLIGEI!");
else puts("DAAAAAMN!");
}
return 0;
}E 无敌阿姨
模拟题意,码量不大。不过我被第行的判断条件坑了一把,因为一旦上了顶楼,就没有再爬楼梯的必要。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--){
int n,m,k;
cin>>n>>m>>k;
int a[1000500];
for(int i=1;i<=n;++i){
cin>>a[i];
}
int cnt=0,hp=m;
for(int i=1;i<=n;){
if(a[i]>hp){
++cnt;
a[i]-=hp;
hp=m;
}else{
hp-=a[i++];
if(i!=n+1&&hp<k){
++cnt;
hp=m;
}else{
hp-=k;
}
}
//cout<<hp<<endl;
}
cout<<cnt+(a[n]!=0)<<endl;
}
return 0;
}G 校车
官方题解的思想是离散化。这里可以用map离散化坐标,上车就,下车就
。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--){
int n;
cin>>n;
map<int,int> mp;
while(n--){
int a,b;
cin>>a>>b;
++mp[a];
--mp[b];
}
int ans=0,sum=0;
for(auto i:mp)sum+=i.second,ans=max(ans,sum);
cout<<mp.size()<<' '<<ans<<endl;
}
return 0;
}
京公网安备 11010502036488号