第三届河北省大学生程序设计大赛

发布于 28 天前  32 次阅读


石家庄->秦皇岛

有过上次参加“天梯赛”的经历,这次参加倒不像上次那么紧张...

还记得是早起七点的火车,五点就爬了起来前一天晚上各种失眠到一点才睡着

匆匆忙忙吃了点包子就去火车站了...

在高铁上经历了三个多小时小时的空调冷冻之后终于到了秦皇岛

不得不说,五月份的秦皇岛比石家庄凉快的不是一点半点鸭

到了之后就开始签到,领东西,不过由于第一次来...

有一队迷路QAQ,还好最后顺利到了

领完东西之后就去东秦的食堂吃饭,怎么说呢....

东秦的食堂感觉好难吃...可能是因为只能用券换取那两个窗口的缘故?

而且食堂里面还不能用微信支付宝,想喝水还要去外面...

总之这是一个糟透的午餐...

热身赛

吃过糟糕的午饭之后,就开始往教学区走,听说开始之前有一个什么热身赛?

当时也没听过,后来想想应该是和天梯开赛之前在自己电脑上那个类似吧

不过当时有一个师大的教练和我们说热身赛的题目不用太在意,很可能把思路往偏了带

所以也没怎么在意

这个时候头就开始有些难受,有些不舒服,一开始猜测可能是中午没吃好也没多想

到了教学区,本来还在准备放东西,后来老师和我们说东西没问题,手机热身赛不管的

忘了是几楼了,总之不得不感叹东秦是真的好大!!!

刚开始觉得热身赛嘛,随便啦哈,于是上来就开始各种敲键盘,点鼠标

后来志愿者小姐姐告诉我们说还没开始是不可以碰设备的哦(不过热身赛是不管的)

等了蛮久的终于开始了热身赛,熟悉了一下OJ情况和所有题目,于是决定挑选过关率最高的一道题开始A

也不知A了多久,终于AC

这时!来了一个蛮漂亮的志愿者小姐姐送来了气球!!!woc?真的有气球啊!兴高采烈地插上气球

就开始各种瞎摆弄AC的签到题,想办法超时,想办法格式错误,想办法内存超限,想办法运行错误。大概都试过一遍之后就开始后几道题

毕竟热身赛拿来练练手也可以,不过这一练倒好,后面的不知道怎么A都A不过

这时系统提示,不要用C++的OI语句!!!

原来用了就会超时,这也直接导致第二天正赛的时候不敢用cincout

大概过了两个多小时,头晕眼花....

猜测可能是前一天没睡好?可是我明明在火车上睡了,于是让队友先A,自己躺在椅子上睡了起来(毕竟热身赛)

等我醒来之后。。。比赛已经结束了,而且还是老师把我喊醒的emmmm莫名的有些尴尬

在东秦吃过晚饭(OMG还好教室食堂还算可以)坐大巴来到了酒店,还好酒店附近有药店买了一盒退烧药

准备回去躺尸QAQ,老师居然想要去看海!!!

我也想去看海,而且还是夜景,但是身体不允许(明年一定要去)....只能老老实实地躺尸

正式比赛

经过一晚上的躺尸和药物的作用,早起起来明显感觉比前一天好很多(我的海QAQ)

在酒店吃了早餐(酒店的真美味)来到了东秦

因为来的过早,距离比赛开始还有一个小时,于是我们在楼道聚众....

在找了半天也没找到凳子的绝望环境下,打算拿出解题模板,铺开,席地而坐

很久很久....

终于!比赛马上要正式开始了

首先每个小姐姐给我们发了一张纸上面有登陆的账号密码和一些题干的解释说明

还有一个密封袋 EXM? 密封袋,好吧,我承认我小看这个比赛了

时间划过整点,终于打算开始的时候,网络问题延迟几分钟....

几分钟后终于开始了答题生涯!瞄准了一个已经被AC好几次的题点开

开始A第一题:"点我"

这道题倒是没什么太大的难度,唯一的坑就是等于零的情况和之后再通过和正确那里循环的问题

不过由于手误还是WA了一次QAQ

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    if(n==0)
        cout<<"qiandaoshibai";
    else    if(n%2==0)
        cout<<"qiandaochenggong";
    else
        cout<<"qiandaoshibai";
    return 0;
}

由于题目册子有三本,再队友A签到的时候我开始研究起来别的

翻了翻只有一道比较有把握,于是开始手写代码,用大脑当CPU开始了调试

经过几次本地的调试,确保无误后,终于完成了一次性AC

河北美食

同样是一道难度不大的题目,一个结构体数组配合几个循环就完美的AC了

只不过需要注意,一旦有不满足输出YES的情况直接输出NO然后结束程序,避免超时的问题出现

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef struct
{
    char s[50];
    ll a;
}str; 
int main()
{
    ll n,m;
    cin>>n>>m;
    str k[1005];
    for(ll i=0;i<n;i++)
        cin>>k[i].s>>k[i].a;
    for(ll i=0;i<m;i++)
    {
        int h;
        cin>>h;
        for(ll j=0;j<h;j++)
        {
            char q[50];
            int g;
            cin>>q>>g;
            for(ll b=0;b<n;b++)
                if(strcmp(k[b].s,q)==0)
                {
                    k[b].a-=g;
                    if(k[b].a<0)
                    {
                        cout<<"NO";
                        return 0;
                    }
                    break;
                }
        }
    }
    cout<<"YES"<<endl;
    for(ll i=0;i<n;i++)
    {
        if(k[i].a!=0)
            cout<<k[i].s<<" "<<k[i].a<<endl;
    }
    return 0;
}

再经过了多个没有思路的题目之后,我们毅然决然的准备A下一道:"天神的密码"

这道题也是最后还有两分钟结束时提交上去的,当时真的超级激动!!!

如果将数字变成字符串问题就变得好解决一万倍了,当时不会sprintf这个库函数,手写了拆数字的函数

不过一开始WA了,当时在想可能是范围的问题,测试了好久也不行,死马当活马医的改了几个地方还是一直WA,于是开始换Java的大整数试试,后来由于技术问题....认输了QAQ

又回到C++,开始研究数据范围,这时想到了longlong的范围貌似比double大,而次方的库函数返回值是double,转念一想,次方也不多,于是就手写了longlong类型次方函数,竟然就AC了!?

需要注意的就是平方后要开longlong这个范围

#include<bits/stdc++.h>
using namespace std;
int main() 
{
    int N;
    cin>>N;
    int D[N];
    long long n; 
    for(int i=0; i<N; i++) 
    {
        int a;
        long long b;
        cin>>b>>a;
        if(a==1)
            n=b;
        else    if(a==2)
            n=b*b;
        char c[20];
        sprintf(c,"%lld",n);
        while(1)
        {
            n=0;
            for(int j=0; j<strlen(c); j++) 
                n=c[j]-48+n;
            sprintf(c,"%lld",n);
            if(strlen(c)==1)
            {
                D[i]=n;
                break;
            }
        }
    }
    for(int i=0;i<N;i++)
        cout<<D[i]<<endl;
    return 0;
}

结束了最后一道题的AC,差不多比赛也结束了

差了最后一点就可以拿到顽强拼搏奖

秦皇岛->石家庄

因为比赛结束距离高铁还有好长一段时间,所以我们打算骑电车去海边开始游玩...

公费旅游开始23333

在一路海边瞎胡闹,泼海水,抓人进海淹水,差不多也该去火车站了,闹得满身湿乎乎的hhh

值得一提的是另一个队的队友捉到一个小虾,运气简直爆棚(羡慕ing)

中途下起了暴雨,又加上堵车等等,差点就没有赶上高铁,还好最后跑得快(怎么又是差点没赶上车啊)!

结束了公费秦皇岛二日游,真的很愉快,非常开心,如果没有生病QAQ

奖项:河北省专科组二等奖

希望明年能拿到一等奖,打败保定职业技术学院(什么仇什么怨)

明年加油

后记

  • 秦皇岛比石家庄是真滴凉快啊
  • 如果出游的两天没有感冒发烧就好了,这样还可以玩的更开心
  • 海边真的超级有趣,如果能玩更久就更好啦
  • 因为是周六日去的,周一上午的课程(汇编和英语)直接请假躺尸,害怕发烧复发...
  • 周一中午仇老师请我们吃的川菜馆子,说要讨论明年怎么搞
  • 第一次和老师在桌子上喝酒23333下午的操作系统还好没晕过去...
  • 又是开心的两天,希望每一个人都可以变得更加优秀
  • 最后附上团体照一张

2019-05-11

2019-05-12