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

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

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

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

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

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

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

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

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

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

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

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

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

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

这到底是怎么了啊。。。

T1:五子棋

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

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

 #include<cstdio>
#define GG if(cnt>=5)return printf("%c %d\n",opt==1?'A':'B',i);//,0;注意返回值。。
int a[][],n;
int main(){
freopen("five.in","r",stdin);
freopen("five.out","w",stdout);
scanf("%d",&n);
int opt=;
for(int i=,x,y;i<=n;++i){
scanf("%d%d",&x,&y);
a[x][y]=opt;
int rx=x,ry=y,cnt=;
while(a[x+][y]==opt)cnt++,x++;
x=rx;
while(a[x-][y]==opt)cnt++,x--;
x=rx;GG;cnt=;
while(a[x][y+]==opt)cnt++,y++;
y=ry;
while(a[x][y-]==opt)cnt++,y--;
y=ry;GG;cnt=;
while(a[x-][y-]==opt)cnt++,x--,y--;
x=rx;y=ry;
while(a[x+][y+]==opt)cnt++,x++,y++;
x=rx;y=ry;GG;cnt=;
while(a[x+][y-]==opt)cnt++,x++,y--;
x=rx;y=ry;
while(a[x-][y+]==opt)cnt++,x--,y++;
GG;opt*=-;
}puts("Tie");
}

T2:迷宫

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

 #include<cstdio>
#include<queue>
using namespace std;
#define inf 1234567890123456
int n,m,k,d,cnt=,fir[],l[],to[],deg[],w[];
priority_queue<long long>q[];
priority_queue<pair<long long,int> ,vector<pair<long long,int> >,greater<pair<long long,int> > >Q;
void link(int a,int b,int v){l[++cnt]=fir[a];fir[a]=cnt;to[cnt]=b;w[cnt]=v;deg[a]++;}
int main(){
freopen("maze.in","r",stdin);
freopen("maze.out","w",stdout);
scanf("%d%d%d%d",&n,&m,&k,&d);d++;
for(int i=,a,b,v;i<=m;++i)scanf("%d%d%d",&a,&b,&v),a++,b++,link(a,b,v),link(b,a,v);
for(int i=;i<=n;++i)for(int j=;j<=d;++j)q[i].push(inf);
for(int i=,E;i<=k;++i){
scanf("%d",&E);E++;Q.push(make_pair(,E));
while(!q[E].empty())q[E].pop();
for(int i=;i<=d;++i)q[E].push();
}
while(!Q.empty()){
int p=Q.top().second;long long D=Q.top().first;Q.pop();
if(D!=q[p].top())continue;//printf("%d\n",p);
for(int i=fir[p];i;i=l[i]){
int rd=q[to[i]].top();q[to[i]].push(D+w[i]);q[to[i]].pop();
if(q[to[i]].top()<rd)Q.push(make_pair(q[to[i]].top(),to[i]));
}
}
printf("%lld\n",q[].top()==inf?-:q[].top());
}

T3:三华聚顶

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

最新文章

  1. mysqld: Out of memory 解决办法(mysql)
  2. 一个flex buider 3 在eclipse下不能编译的问题解决
  3. 谈谈.Net技术面试
  4. 【转】关于Class.forName(“com.mysql.jdbc.Driver”)
  5. Unity手游之路&lt;四&gt;3d旋转-四元数,欧拉角和变幻矩阵
  6. mongoDB(1)
  7. Windows 32 程序设计
  8. C#泛型在unity3D中的运用...
  9. WinDbg 调试.net程序
  10. Java Swing中Substance常用皮肤
  11. 网络安装CentOS 5.3
  12. 解决sublime联网失败,点击package control后没有反应
  13. JS中的逻辑哲学
  14. java中的字符编码方式
  15. windows 下共享内存使用方法示例
  16. activiti工作流笔记
  17. 《算法》第六章部分程序 part 6
  18. linux(乌班图)下执行pip没有问题,执行sudo pip报错的问题
  19. P2463 [SDOI2008]Sandy的卡片
  20. UiTextField 限制输入长度

热门文章

  1. 前后端分离————VUE+node(express)
  2. mac下的环境变量
  3. Redis info 说明
  4. mysql的函数笔记
  5. python编程基础之十五
  6. Angular.js 入门(一)
  7. Spring Security 入门(一)
  8. 毕业生想学习web前端,应该怎么学才能最快找到工作?
  9. 攻防世界(XCTF)逆向部分write up(一)
  10. 微信企业号开发入门(回调模式)java