为什么 Runtime Error (ACCESS_VIOLATION) 大牛看一下呗解决方法
为什么 Runtime Error (ACCESS_VIOLATION) 大牛看一下呗
题目是 hdu 1054 :
代码:
------解决方案--------------------
没有细看代码,看错误知道是内存访问的事儿,楼主调试一下
scanf("%d:(%d)",&t1,&m); 楼主这个代码不太合适,不能让别人输入:还要输入()吧?
------解决方案--------------------
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。
------解决方案--------------------
楼主输入的是什么
gcc4.2表示测试了一组数据没问题
题目是 hdu 1054 :
代码:
- C/C++ code
#include <iostream> #include <cstring> #include<cstdio> #define N 1505 using namespace std; //定义链表 struct link { int data; //存放数据 link* next; //指向下一个节点 link(int=0); }; link::link(int n) { data=n; next=NULL; } int result[N]; //记录n1中的点匹配的点的编号 bool state [N]; //记录n1中的每个点是否被搜索过 link *head [N]; //记录n2中的点的邻接节点 link *last [N]; //邻接表的终止位置记录 //判断能否找到从节点n开始的增广路 bool find(const int n) { link* t=head[n]; while (t!=NULL) //n仍有未查找的邻接节点时 { if (!(state[t->data])) //如果邻接点t->data未被查找过 { state[t->data]=true; //标记t->data为已经被找过 if ((result[t->data]==-1) || //如果t->data不属于前一个匹配M (find(result[t->data]))) //如果t->data匹配到的节点可以寻找到增广路 { result[t->data]=n; //那么可以更新匹配M',其中n1中的点t->data匹配n return true; //返回匹配成功的标志 } } t=t->next; //继续查找下一个n的邻接节点 } return false; } int flag[N]; int main() { int n,m; while(scanf("%d",&n)==1) { memset(flag,0,sizeof(flag)); memset(result,-1,sizeof(result)); for (int i=0; i < n; i++) { int t1=0, t2=0; scanf("%d:(%d)",&t1,&m); if(flag[t1]==0) { while(m--) { scanf("%d",&t2); flag[t2]=1; if (last[t1]==NULL) last[t1]=head[t1]=new link(t2); else last[t1]=last[t1]->next=new link(t2); } } else { while(m--) { scanf("%d",&t2); if (last[t1]==NULL) last[t2]=head[t2]=new link(t1); else last[t2]=last[t2]->next=new link(t1); } } } int ans=0; for (int i=0; i<n; i++) { memset(state, 0, sizeof(state)); if (find(i)) ans++; } cout<<ans<<endl; } return 0; }
------解决方案--------------------
没有细看代码,看错误知道是内存访问的事儿,楼主调试一下
scanf("%d:(%d)",&t1,&m); 楼主这个代码不太合适,不能让别人输入:还要输入()吧?
------解决方案--------------------
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。
------解决方案--------------------
楼主输入的是什么
gcc4.2表示测试了一组数据没问题