项目管理 STLvector

来源:互联网 发布:c语言打爱心 编辑:程序博客网 时间:2024/05/29 11:29

我去有毒 这么简单的题 因为初始化弄错找了好久 半天找不到错误

最开始是这么初始化的 主要是忘记了n值的意思 然后一直WA.. 

最开始看题的时候还觉得:告诉我有u个点有什么作用啊 没用啊   哎 惨痛教训

主要是题目没看好 下次一定要注意

vector在我看来主要作用就是为了节省空间 然后vector的读取也很方便 特别是需要一个元素未知的顺序表的时候 为了防止空间的浪费就可以用vector了

否则这道题你总不能定义一个二维
数组吧 那估计还没编译就炸了

多读题 有点拗口 但是多读几遍就好了

for(int i=0;i<=n;i++)
        obj[i].clear();

for(int i=0;i<=u;i++) 正确
        obj[i].clear();

#include <iostream>#include <algorithm>#include <vector>#include <string.h>using namespace std;vector<int> obj[100005];int c[100005];int main(){int n,u,v,a,b,q;scanf("%d",&n);while(n--){memset(c,0,sizeof(c));scanf("%d%d",&u,&v);for(int i=0;i<=u;i++)obj[i].clear(); for(int i=0;i<v;i++){scanf("%d%d",&a,&b);obj[a].push_back(b);obj[b].push_back(a);}cin>>q;while(q--){int cmd,sum=0;scanf("%d",&cmd);if(cmd==0){scanf("%d%d",&u,&v);c[u]+=v;}if(cmd==1){scanf("%d",&u);for(int i=0;i<obj[u].size();i++){sum+=c[obj[u][i]];}printf("%d\n",sum);}}}}


1 0
原创粉丝点击