重要提醒:
1、每道題都要看清題目是否測試多組數據,若是,則要加while(~scanf("%d",&cnt))
類似的代碼
2、輸出結果的最後一定要加換行符(’\n’)
3、一定要仔細仔細再仔細!!!
官方題解:2020年粵澳熱身賽轉型題解
個人題解
A題:莫斯方塊
提升題,不會
B題:互評成績計算
AC代碼:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int cnt,tmp;
while(~scanf("%d %d",&cnt,&tmp)) //測試多組數據
{
for(int j=0;j<cnt;j++)
{
int tea,a,mi=101,mn=-1,k=0,sum=0;
cin>>tea;
for(int i=1;i<cnt;i++)
{
cin>>a;
if(a<=tmp&&a>=0)
{
mi=min(a,mi);
mn=max(a,mn);
sum+=a;
k++;
}
}
printf("%d\n",(int)(((sum-mi-mn)*1.0/(k-2) + tea)/2.0+0.5)); //包含四捨五入的小技巧
}
}
return 0;
}
C題:活動總檯
變態題,不會
D題:發現字符串中出現次數最多的字母
AC代碼:
#include<bits/stdc++.h>
using namespace std;
int num[27]={0};
int main()
{
string s;
cin>>s;
int len=s.length();
int i=0;
for(int i=0;i<len;i++)
{
num[s[i]-'a'+1]++;
}
int maxn=0;
char big;
for(int i=1;i<=len;i++)
{
if(num[i]>maxn)
{
big=i+'a'-1;
maxn=num[i];
}
}
for(int i=0;i<len;i++)
{
cout<<s[i];
if(s[i]==big)
cout<<"(出現了"<<maxn<<"次)";
if(i==len-1)
cout<<endl; //記得加換行符
}
return 0;
}
E題:度假酒店
AC代碼:
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
ll n,m,total,num[3];
while(~scanf("%lld %lld %lld",&num[0],&num[1],&num[2]))
{
sort(num,num + 3);
ll min = num[2] - 1;
ll ans = 0;
if(min - num[1] > 0)
ans += min - num[1];
if(min - num[0] > 0)
ans += min - num[0];
printf("%lld\n",ans);
}
}
是真的想不明白,我最怕這種找規律題了,突破口可能是在 樣例 2、3 中,1-1=0
和 1000000000000000000-1=999999999999999999
上
F題:三人成百
AC代碼:
#include <bits/stdc++.h>
using namespace std;
vector<int> tmp;
int main()
{
int a;
while(cin>>a)
{
if(a==0)
break;
tmp.push_back(a);
}
int flag=0;
sort(tmp.begin(),tmp.end());
for(int i=0;i<tmp.size()-2;i++)
{
if((tmp[i]!=tmp[i-1]&&i>0)||i==0)
{
for(int j=i+1;j<tmp.size()-1;j++)
{
if((tmp[j]!=tmp[j-1]&&j>i+1)||j==i+1)
{
for(int k=j+1;k<tmp.size();k++)
{
if((tmp[k]!=tmp[k-1]&&k>j+1)||k==j+1)
{
if(tmp[i]+tmp[j]+tmp[k]==100)
{
cout<<tmp[i]<<' '<<tmp[j]<<' '<<tmp[k]<<' '<<endl;
flag=1;
}
}
}
}
}
}
}
if(flag==0) cout<<"NO"<<endl; //不存在輸出 NO
return 0;
}
WeJudge 題庫
莫斯方塊(題號2472)、活動總檯(題號2480)、度假酒店(題號1492)在 《北師珠ACM題庫》 中
互動成績計算(題號2258)、找出字符串中出現次數最多的字母(題號3916)、三人成百(題號3972)在 《GMCPC練習題》 中