2017.1.20总结
来源:互联网 发布:阿里云测试 编辑:程序博客网 时间:2024/05/16 10:23
今天写了p1226
主要考察知识点是拓扑排序以及一些零碎的细节
具体做法没什么特别的,就是细节有点多,比如判断输出层,公式运算等
代码如下:
1 //2017.1.20 Earl_WR 2 #include <iostream> 3 #include <cstdio> 4 #include <cstring> 5 #include <string> 6 #include <algorithm> 7 using namespace std; 8 long long n; 9 long long map[500][500]={};10 bool flag=0;11 struct p12 {13 long long d;14 long long v;15 long long c;16 long long cost;17 long long chudu;18 }id[500];19 long long q;20 long long queue[500],tail=0,head=1;21 long long read()22 {23 long long x=0,f=1;char ch=getchar();24 while (ch<'0' || ch>'9'){if (ch=='-')f=-1;ch=getchar();}25 while (ch>='0' && ch<='9'){x=x*10+ch-'0';ch=getchar();}26 return x*f;27 }28 void in()29 {30 n=read();q=read();31 for (int i=1;i<=n;i++)32 {33 id[i].d=i;34 id[i].c=read();id[i].cost=read();35 id[i].v=0;36 id[i].chudu=0;37 }38 for (int i=1;i<=q;i++)39 {40 int x,y,z;41 x=read();y=read();z=read();42 map[x][y]=z;43 id[y].v++;44 id[x].chudu++;45 }46 }47 int main()48 {49 //freopen ("test.in","r",stdin);50 //freopen ("test.out","w",stdout);51 in();52 for (int i=1;i<=n;i++)53 {54 if (id[i].v==0)55 {56 queue[++tail]=id[i].d;57 }58 }59 for (head=1;head<=tail;head++)60 {61 for (int i=1;i<=n;i++)62 {63 if (map[queue[head]][i])64 {65 id[i].v--;66 id[i].c+=map[queue[head]][i]*id[queue[head]].c;67 if (id[i].v==0)68 {69 queue[++tail]=i;70 id[queue[tail]].c-=id[queue[tail]].cost;71 }72 }73 }74 }80 for (int i=1;i<=n;i++)81 {82 //cout<<id[i].d<<' '<<id[i].c<<endl;83 if (id[i].chudu==0 && id[i].c>0)84 {85 flag=1;86 cout<<id[i].d<<' '<<id[i].c<<endl;87 }88 }89 if (!flag) cout<<"NULL"<<endl;90 return 0;91 }
今天切题数量只有一道,主要是因为今天上午讲课下午也是讲课,再加上中午午休,思路被打断了很多次,而且做这道题的时候也出现过很多低级错误,拖延了时间。
以后要提升代码能力,争取少犯低级错误
2017.1.20 结束,以上
0 0
- 2017.1.20总结
- 2017.1.20总结
- 总结20
- Java web学习总结20: JavaBean总结
- 2017.1.13训练总结
- 2017.1.13总结
- 2017.1.19 bug总结
- 2017.1.19总结
- 2017.1.21总结
- hibernate总结(10-20)
- hibernate总结(20-30)
- spring2总结(20-30)
- 2012.4.20总结
- 2012.7.20总结
- Java总结(20) 代理
- 2014.02.20 等待总结
- 第20周总结
- 2014.10.20学习总结
- 十年
- [LeetCode][228] Summary Ranges
- BP神经网络原理推导(学习笔记)
- Java语言基础逻辑运算符的基本用法
- Android开发技巧——设置系统状态栏颜色
- 2017.1.20总结
- shape 相关属性
- 交叉验证(Cross validation)总结
- What is the difference between ControlStyles.DoubleBuffer and ControlStyles.OptimizedDoubleBuffer?
- 2017.1.21总结
- javaScript中的排序方法
- centos 安装mysql
- C语言32个关键字
- 回头看,你的进步让你欣慰