【题解】北京信息科技大学第十二届程序设计竞赛热身赛题解

level 0 热身赛的签到题

基本上只要不看错题或者不马虎就不可能做错。

#include<bits/stdc++.h>
using namespace std;
int main(){
    string s;
    cin>>s;
    cout<<s<<"saikou";
}

level 2 爱心

这里先检讨一下,赛前没有预估Java语言的System.out.print的时间,导致O(n^2)输出无法通过。本题的时限已经延长到c/c++ 2s,其他语言4s。
这道题如果采用字符二维数组、赋值后输出则有可能输出多余的空格。正确算法是观察爱心的形状,每行输出对应的字符'*'和空格就可以了。

#include<bits/stdc++.h>
using namespace std;
int main(){
    cout<<"I love U forever.\n";
    int n,i,j;
    cin>>n;
    for(i=0;i<n;i++){
        for(j=0;j<n-i;j++)putchar(' ');
        for(j=0;j<n+2*i;j++)putchar('*');
        for(j=0;j<n-i-1;j++)putchar(' ');
        putchar(' ');
        for(j=0;j<n-i-1;j++)putchar(' ');
        for(j=0;j<n+2*i;j++)putchar('*');
        cout<<endl;
    }
    int temp=0;
    for(i=6*n-1;i>0;i-=2){
        for(j=0;j<temp;j++)putchar(' ');
        for(j=0;j<i;j++)putchar('*');
        cout<<endl;
        temp++;
    }
}

level 5 太阳花田

这是今年上半年校赛的一道题,当时的通过率也非常惨:
图片说明
图片说明
(比赛只有4个人过A题)
这道题的思路如下:
首先题目里没有说长和宽的大小关系,所以不妨设长大于宽。
根据矩形长和宽以及圆的直径的关系分类讨论即可。
显然圆心和矩形重心重合即可。
一共四种情况:
,最大重合面积为矩形。
,最大重合面积为圆抠掉4个弓形
,最大重合面积为圆抠掉2个弓形
,最大重合面积为圆形。
弓形的面积可以用一个扇形减去等腰三角形求出。
依次计算输出即可。

#include<bits/stdc++.h>
using namespace std;
const double pi=3.1415926536;
int main(){

    double x,y,r;
    cin>>x>>y>>r;
    x/=2,y/=2;
    if(x>y)swap(x,y);

    double ma=(sqrt(x*x+y*y));
    if(r>=ma)printf("%.2lf",4*x*y);
    else if(r<=x)printf("%.2lf",pi*r*r);
    else if(r<=y){
        double h=sqrt(r*r-x*x);
        printf("%.2lf",2*asin(x/r)*r*r+2*h*x);
    }
    else{
        double h1=sqrt(r*r-x*x),h2=sqrt(r*r-y*y);
        printf("%.2lf",(2*pi-4*acos(x/r)-4*acos(y/r))*r*r/2+2*h1*x+2*h2*x);
    }
}
全部评论

相关推荐

小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
07-11 22:27
中南大学 Java
程序员牛肉:学历的话没问题。但是没问题的也就只有学历了。 其实你的整体架构是正确的,博客接着干。但是项目有点过于简单了。从后端的角度上讲,你这也就是刚入门的水平,所以肯定约面试够呛。 如果你要应聘后端岗位,那你第一个项目竟然是仿写操作系统。这个你要面试官咋问你。你一定要记住一点,你简历上写的所有的东西,都是为了证明你有能力胜任当前的岗位,而不是为了证明你自己会什么。 如果你只是浅浅的做几个项目,描述也都是烂大街。技术点也都是各种混水类的配置类需求,那你就不要幻想自己能走多远。一定要保持思考,保持学习。
点赞 评论 收藏
分享
昨天 11:26
清华大学 Java
打开电脑,思绪又回到了7月份刚开始的时候,感觉这个月过的如梦如幻,发生了太多事,也算是丰富了我本就是平淡的人生吧太早独立的我习惯了一切都是自己做决定,拥有绝对的决定权,而且永远不会听取别人的建议。我就是那个恋爱四年出轨的男主啦,感觉既然在牛客开了这个头,那我就要做个有始有终的人。从我出轨到结束再到和女朋友和好如初真的太像一场梦了,短短的一个月我经历了太多,也成长了很多,放下了那些本就不属于我的,找回了那些我不该放弃的。我的人生丰富且多彩,但人不能一直顺,上天总会让你的生活中出点乱子,有好有坏,让你学会一些东西,让你有成长。我和女朋友的恋爱四年太过于平淡,日常除了会制造一些小浪漫之外,我们的生活...
段哥亡命职场:不得不说,我是理解你的,你能发出来足见你是个坦诚的人,至少敢于直面自己的内心和过往的过错。 这个世界没有想象中那样非黑即白,无论是农村还是城市,在看不见的阴影里,多的是这样的事。 更多的人选择站在制高点去谩骂,一方面是社会的道德是需要制高点的,另一方面,很多人不经他人苦,却劝他人善。 大部分的我们,连自己生命的意义尚且不能明晰,道德、法律、困境,众多因果交织,人会迷失在其中,只有真的走出来之后才能看明白,可是没走出来的时候呢?谁又能保证自己能走的好,走的对呢? 可是这种问题有些人是遇不到的,不去追寻,不去探寻,也就没了这些烦恼,我总说人生的意义在过程里,没了目标也就没了过程。 限于篇幅,没法完全言明,总之,这世界是个巨大的草台班子,没什么过不去了,勇敢面对,革故鼎新才是正确,祝你早日走出来。查看图片
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务