zoukankan      html  css  js  c++  java
  • [考试反思]1105csp-s模拟测试101: 临别

    先不改题,这次主要不在T3上。

    这次有必要粘文件得分了。

    临考前总解锁新锅我也不知道这是什么个事啊。。。

    T1宏定义写挂。因为原来在OJ上没事所以一直没注意。在Lemon评测下直接全部RE。

    GG在主函数里出现了。乍一眼看上去好像没什么问题。

    但是在最终评测下如果主函数返回值非0的话是不看你的结果的。

    不知道为什么OJ上能过。。。

    然后T2也飞天了,这个更玄学一些。

    其它地方没改。理论上1e14足够了但是最后不知道为什么还是炸了。(因为每个点最多会被经过1次,所以应该是1e9×点数1e5)

    inf没开够导致上天也是头一回见。。。

    不要伪证,能保险一些就保险一些,数组开够,inf设的足够大!!!

    一场考试的得分因为这些锅总分刚好只剩下一半,应该能涨记性了。

    RP彻底用尽之后就是这个狼狈模样。。。。

    联赛就在眼前了,要是一天直接只有115的话那肯定退役了。。。

    这到底是怎么了啊。。。

    T1:五子棋

    一个简单到连部分分都没办法给的题。

    除了skyh不会下五子棋和我返回值非0以外大多数人都A了。。。

     1 #include<cstdio>
     2 #define GG if(cnt>=5)return printf("%c %d
    ",opt==1?'A':'B',i);//,0;注意返回值。。
     3 int a[17][17],n;
     4 int main(){
     5     freopen("five.in","r",stdin);
     6     freopen("five.out","w",stdout);
     7     scanf("%d",&n);
     8     int opt=1;
     9     for(int i=1,x,y;i<=n;++i){
    10         scanf("%d%d",&x,&y);
    11         a[x][y]=opt;
    12         int rx=x,ry=y,cnt=1;
    13         while(a[x+1][y]==opt)cnt++,x++;
    14         x=rx;
    15         while(a[x-1][y]==opt)cnt++,x--;
    16         x=rx;GG;cnt=1;
    17         while(a[x][y+1]==opt)cnt++,y++;
    18         y=ry;
    19         while(a[x][y-1]==opt)cnt++,y--;
    20         y=ry;GG;cnt=1;
    21         while(a[x-1][y-1]==opt)cnt++,x--,y--;
    22         x=rx;y=ry;
    23         while(a[x+1][y+1]==opt)cnt++,x++,y++;
    24         x=rx;y=ry;GG;cnt=1;
    25         while(a[x+1][y-1]==opt)cnt++,x++,y--;
    26         x=rx;y=ry;
    27         while(a[x-1][y+1]==opt)cnt++,x--,y++;
    28         GG;opt*=-1;
    29     }puts("Tie");
    30 }
    View Code

    T2:迷宫

    每个点第d+1次被扩展到的时候再入队,最短路。

     1 #include<cstdio>
     2 #include<queue>
     3 using namespace std;
     4 #define inf 1234567890123456
     5 int n,m,k,d,cnt=1,fir[100005],l[2000005],to[2000005],deg[100005],w[2000005];
     6 priority_queue<long long>q[100005];
     7 priority_queue<pair<long long,int> ,vector<pair<long long,int> >,greater<pair<long long,int> > >Q;
     8 void link(int a,int b,int v){l[++cnt]=fir[a];fir[a]=cnt;to[cnt]=b;w[cnt]=v;deg[a]++;}
     9 int main(){
    10     freopen("maze.in","r",stdin);
    11     freopen("maze.out","w",stdout);
    12     scanf("%d%d%d%d",&n,&m,&k,&d);d++;
    13     for(int i=1,a,b,v;i<=m;++i)scanf("%d%d%d",&a,&b,&v),a++,b++,link(a,b,v),link(b,a,v);
    14     for(int i=1;i<=n;++i)for(int j=1;j<=d;++j)q[i].push(inf);
    15     for(int i=1,E;i<=k;++i){
    16         scanf("%d",&E);E++;Q.push(make_pair(0,E));
    17         while(!q[E].empty())q[E].pop();
    18         for(int i=1;i<=d;++i)q[E].push(0);
    19     }
    20     while(!Q.empty()){
    21         int p=Q.top().second;long long D=Q.top().first;Q.pop();
    22         if(D!=q[p].top())continue;//printf("%d
    ",p);
    23         for(int i=fir[p];i;i=l[i]){
    24             int rd=q[to[i]].top();q[to[i]].push(D+w[i]);q[to[i]].pop();
    25             if(q[to[i]].top()<rd)Q.push(make_pair(q[to[i]].top(),to[i]));
    26         }
    27     }
    28     printf("%lld
    ",q[1].top()==inf?-1:q[1].top());
    29 }
    View Code

    T3:三华聚顶

    不会。这不是重点。先让前两道题不挂分再说。

  • 相关阅读:
    【Swift后台】环境安装
    【Swift后台】背景介绍
    【Swift后台】目录
    退居三线iOS开发的自主开发历程
    Swift调用微信支付宝SDK(Swift4.0)
    ORACLE取对照表不等的数据
    Binary转换成Hex字符串
    利用OpenSSL创建证书链并应用于IIS7
    sysctl.conf和limit.conf备忘待查
    Use Wireshark to capture loopback traffic without a loopback adapter (转)
  • 原文地址:https://www.cnblogs.com/hzoi-DeepinC/p/11798251.html
Copyright © 2011-2022 走看看