求大佬讲解题目
虽然我已经很努力的在解这道题了{:10_265:}但是还是束手无策
有鱼油能帮忙讲解一下吗:
https://www.luogu.com.cn/problem/P7072
我觉得你可以先理一下思路。 我想到了爆算{:10_256:}不知道你是否接受呢 额外减小 发表于 2022-12-28 20:53
我想到了爆算不知道你是否接受呢
额,时间限制考虑一下
本帖最后由 额外减小 于 2022-12-28 22:59 编辑
啊啊啊啊啊啊啊啊啊
大佬,我成功了!
你想看我写的源码吗?
你现在用的是什么语言?
以下是我的代码。在大佬面前我不敢说我写的好
(其实我本来就写的不好)
主要思路就是对每次出成绩都进行分析。我想也不用再做注明了吧
还望大佬们给出建议,谢谢!{:10_256:}
忘了说了,我用的C语言。
#include <stdio.h>
#include <math.h>
int max(int a,int b)
{
return a>b?a:b;
}
int pn(int p,int w)
{
return max(1,floor((double)p*w/100));
}
int main()
{
int n,w,count,i=0,j=0,k=0,m,x;
scanf("%d",&n);
scanf("%d",&w);
int a,b;
for(count=0;count<n;count++)
{
scanf("%d",&a);
getchar();
}
for(count=1;count<=n;count++)
{
for(m=0;m<count;m++)
{
b=a;
}
for(;m<n;m++)
{
b=0;
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(b<b)
{
k=b;
b=b;
b=k;
}
}
}
printf("%d ",b);
}
return 0;
} 额外减小 发表于 2022-12-28 23:19
以下是我的代码。在大佬面前我不敢说我写的好
(其实我本来就写的不好)
主要思路就是对每次出成绩都进行 ...
谢谢
额外减小 发表于 2022-12-28 23:19
以下是我的代码。在大佬面前我不敢说我写的好
(其实我本来就写的不好)
主要思路就是对每次出成绩都进行 ...
虽然我用c++,但c++与c差不多,稍稍改动就行了 本帖最后由 jhq999 于 2022-12-29 10:00 编辑
#include <stdio.h>
int main()
{
int n,w,count,i,j,k,ach;
scanf("%d%d",&n,&w);
int s={0};
for(i=1;i<=n;i+=1)
{
scanf("%d",&ach);
s+=1;
count=i*w;
count=count/100==0?1:count/100;
for(j=600,k=0;k<count;j-=1)
{
if(s)
{
k+=s;
}
}
printf("%d ",j+1);
}
return 0;
} jhq999 发表于 2022-12-29 09:57
哇,绝了 jhq999 发表于 2022-12-29 09:57
大佬,请问您可以讲讲这里面的逻辑思路吗?我看不太懂。 本帖最后由 jhq999 于 2022-12-29 15:04 编辑
额外减小 发表于 2022-12-29 14:09
大佬,请问您可以讲讲这里面的逻辑思路吗?我看不太懂。
你去洛谷看原题了吗?上面分数限制是0到600;所以第一时间想到统计英文26个字母那个体型;
然后根据得出的取名次的范围,从大到小相加,条件是小于名次范围,否则退出循环,这时已经是范围最小值了,也不用考虑什么并列;
也不用排序,属于用空间换时间
向大佬学习
页:
[1]