#include
using namespace std;
int sum;
int lv1,lv2;
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
int num;
scanf("%d",&num);
sum++;
if(num>=60)lv1++;
if(num>=85)lv2++;
}
printf("%.0lf%\n",(100.0*lv1)/(1.0*sum));
printf("%.0lf%\n",(100.0*lv2)/(1.0*sum));
return 0;
}
2.既约分数
#include
using namespace std;
int gcd(int a,int b){
return b?gcd(b,a%b):a;
}
int main()
{
long long ans=0;
for(int i=1;i<=2020;i++){
for(int j=1;j<=2020;j++){
if(gcd(i,j)==1)ans++;
}
}
printf("%lld",ans);
return 0;
}
3.最优包含
编辑距离变形
#include
#include
using namespace std;
const int N=1010;
int dp[N][N];//s 1-i t 1-j s包含t的最小修改次数
char s[N],t[N];
int main()
{
cin>>s+1;
cin>>t+1;
int lens=strlen(s+1);
int lent=strlen(t+1);
memset(dp,0x3f,sizeof dp);
for(int i=0;i<lens;i++)dp[i][0]=0;
for(int i=1;i<=lens;i++){
for(int j=1;j<=lent;j++){
//对i修改,或等于i前面的数
dp[i][j]=min(dp[i-1][j-1]+1,dp[i-1][j]);
//要么s[i]==t[j],要么s[1-i]包含t[j]
if(s[i]==t[j])dp[i][j]=min(dp[i-1][j-1],dp[i-1][j]);
}
}
printf("%d",dp[lens][lent]);
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)