备考传智杯的题库:可在洛谷上面的题库中,搜索关键词传智杯,即可!
目录
P8828 [传智杯 #3 练习赛] 直角三角形
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c,t=1;
cin>>c;
for( a=1;a<=c&&t==1;a++)
{
for(b=1;b<c;b++)
{
if(a*a+b*b== c*c&&a<=b&&b-a<c)
{
cout<<a<<" "<<b;
t=0;
break;
}
}
}
return 0;
}
P8822 [传智杯 #3 初赛] 课程报名
#include <iostream>
using namespace std;
int main ()
{
long long n,v,m,a,sum=0,t;
cin>>n>>v>>m>>a;
if(n/m==0)
cout<<n*v;
else
{
for(int i=1;i<=n/m;i++)
{
t=a*(i-1);
sum+=m*(v+t);
}
sum+=(n%m)*(v+t+a);
}
cout<<sum;
return 0;
}
P8830 [传智杯 #3 练习赛] 评委打分
//时间超时,时间复杂度太高!!!换思路求解 ~ ~
#include<bits/stdc++.h>
using namespace std;
const long long N=1e6+10;
int a[N];
int main()
{
long long n,t,q=0,m;
double sum=0.0,aver=0.0;
cin>>n;
m=n;
for(int i=0;i<n;i++)
cin>>a[i];
while(m--&&m!=1)
{
for(int i=0;i<3+q-1 && 3+q<=n;i++)
for(int j=0;j<3+q-1-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for(int p=1;p<2+q;p++)
{
sum+=a[p];
}
aver=sum/(1+q);
cout<<fixed<<setprecision(2)<<aver<<endl;
q++;
sum=0.0;
aver=0.0;
}
return 0;
}
正解:
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int a[N];
int main()
{
long long n;
int maxp=0,minp=101;
double sum=0.0,aver;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
maxp=max(a[i],maxp);
minp=min(a[i],minp);
sum+=a[i];
if(i>=2&&i<n)
{
aver=(sum-maxp-minp)/(i-1);
cout<<fixed<<setprecision(2)<<aver<<endl;
}
}
return 0;
}
P8195 [传智杯 #4 决赛] 小智的疑惑
#include<bits/stdc++.h>
using namespace std;
char s[400010];
long long sum=0;
int main()
{
cin>>s;
if(strlen(s)<8)
cout<<sum;
else
{
for(int i=0;i<strlen(s)-7;i++)
{
if(s[i]=='c'&&s[i+1]=='h'&&s[i+2]=='u'&&s[i+3]=='a'&&s[i+4]=='n'&&s[i+5]=='z'&&s[i+6]=='h'&&s[i+7]=='i')
sum++;
}
cout<<sum<<endl;
}
return 0;
}
每日打卡,和大家共同进步!!

735

被折叠的 条评论
为什么被折叠?



