玩命加载中 . . .

洛谷官方题单——顺序结构题解(超级水题警告)


最近洛谷直接更新之前的试炼场模式,现在直接就采用题单了,虽然题目多了不少,但是实际上就是把类似于EX之类的放在了一起,虽然题目多,但是感觉在后面可能会导致一个题单难度会存在飞跃。
这是第一期水题集锦,我尽量一日到两日更。另外我记得某本书告诉我们,没有循环的题目实际上某种意义上不适合作为计算机程序,这些题基本上都是这种情况。

题目0:P1001 A+B

题解花里胡哨过于多,我也不玩那些了。

    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d",a+b);

题目1:P1000

输入输出题目,复制粘贴即可,略过

题目2:苹果采购

    int a,b;
    scanf("%d%d",&a,&b);
    return 0*printf("%d\n",a*b);

题目3:大小写转换

这算是一个技巧了,而且后面字符串也有类似的操作的

    printf("%c\n",a-'a'+'A');

题目4:数字反转

通过string方式反向输出即可,反正不会像一些题一样跑出来前导0。(也可以用栈)

    string s,ans="";
    cin>>s;
    int len=s.length();
    for(int i=len-1;i>=0;i--) ans+=s[i];
    cout<<ans<<endl;

题目5:再分肥宅水

注意输出格式
这里是3位小数,而且有这种情况下的要求,建议都用printf

    printf("%.3lf\n%d",t/n,n*2)

题目6:小鱼游泳时间

实际上就是种树问题放在时间上,n段路需要n+1的树,这里计算的时候也要注意;
然后分钟可以参考补码的计算方式。补码的情况就是在最大的时候变为最小,所以d+60-b

    int a, b,c ,d,e,f;//这里都是题目上的字母,不再阐述
    scanf("%d%d%d%d",&a,&b,&c,&d);
    if( d - b < 0 ) e = c - a -1 ,f = d + 60 -b;
    else e= c - a, f = d - b;
    return 0 * printf("%d %d" , e, f );

题目7:n合1

第三题:注意有效数字和小数,cout的方式这样(一般别这么玩);
第五题:行程问题(来自于某小学奥数老师的科普):相遇问题:路程和=时间×速度和, 火车过桥问题:总路程=车长+桥长,代入公式计算就是15啦
第六题:勾股定理(这个大家都不会不知道吧,不会吧不会吧)
第九题:这个题就是还原的过程
第十题:牛吃草问题(一片草原P,每天增长Q:X牛吃Y天,Z牛吃W天):在这道题对应之后带进去就可以得到以下方程(我latex还不怎么会用在这里,后期再改)
P+30Q=30(即Y)×8(即X)
P+6Q=6(即W)×10(即Z)
接下来P=15,Q=7.5,即P=P/10(十分钟)+Q=9,即得到了答案(小学生太难了);
第11题:追及问题(依旧来自于某小学奥数老师):路程变化量:速度变化量=需要的时间

if (T == 1) {
        cout << "I love Luogu!";
    } else if (T == 2) {
        cout << 2 + 4 << " " << 10 - 2 - 4;
    } else if (T == 3) {
        cout<<3<<endl<<12<<endl<<2<<endl;
    } else if (T == 4) {
        printf("%.3lf\n",500.0/3.0);   //不嫌麻烦可以 cout<<fixed<<setprecision(3)<<1.0*500/3;
    } else if (T == 5) {
        cout<<15<<endl;
    } else if (T == 6) {
        cout<<sqrt(6*6+9*9)<<endl;
    } else if (T == 7) {
        cout<<110<<endl<<90<<endl<<0<<endl;
    } else if (T == 8) {
        double const pi=3.141593;
        double const r=5;
        cout<<pi*r*2<<endl<<pi*r*r<<endl<<4.0/3*pi*r*r*r<<endl;
    } else if (T == 9) {
        cout<<22<<endl;
    } else if (T == 10) {
        cout<<9<<endl;
    } else if (T == 11) {
        cout<<100.0/(8-5)<<endl;
    } else if (T == 12) {
        cout<<13<<endl<<"R"<<endl;
    } else if (T == 13) {
        double const pi=3.141593;
        double V=pi*4*4*4*4/3+pi*10*10*10*4/3;
        cout<<floor(pow(V,1.0/3))<<endl;
    } else if (T == 14) {
        cout<<50<<endl;
    }

题目8:三角形面积

海伦公式建议加入模板

    ans=sqrt(p*(p-a)*(p-b)*(p-c));
    return 0*printf("%.1lf\n",ans);

题目9:买铅笔

这个,转成整数就好了

  printf("%d",(int)((a*10+b)/19));//a元b角

题目10:还有几个苹果

坑有点恶心(也不是恶心,需要考虑下日常),半个不是一个,负数不存在最小为0

#include<stdio.h>
int main(){
    int m,t,s,ans;//字母和题目一个要求
    scanf("%d%d%d",&m,&t,&s);
    if(t==0) return 0*printf("0\n");
    ans=m-s/t;
    if(ans<0) return 0*printf("0\n");
    else{
        if(s%t==0) return 0*printf("%d\n",ans);
        else return 0*printf("%d\n",ans-1);
    } 
}

题目11:对角线

说实话我也不知道这道题怎么(哭哭),所以直接抄了官方的题解,代码如下,于是也加入死记硬背套餐了对于我,后续有正式属于我的题解我会更新(咕咕咕)。

    ans=n*(n-1)/2*(n-2)/3*(n-3)/4;
    return 0*printf("%lld\n",ans);

以上结束。(评论区我还没搞出来23333,虽然我觉得也人会回复我的弱智水题)


文章作者: AleXandrite
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 AleXandrite !
  目录