What is the problem in this code? Please help me. http://www.spoj.com/problems/FISHER/
Thanks!
#include <bits/stdc++.h>
using namespace std;
int main ()
{
int n,time2;
while(true)
{
cin >> n >> time2;
if(n == 0 && time2 == 0) {
break;
}
int time[n+3][n+3];
int cost[n+3][n+3];
memset(time,0,sizeof(time));
memset(cost,0,sizeof(0));
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> time[i][j];
}
}
char c;
cin>>c;
for (int i = 0; i < n; i++) {
for (int j =0;j < n; j++) {
cin >> cost[i][j];
}
}
priority_queue <pair <int, pair <int, int> >, vector <pair <int, pair <int, int> > >, greater <pair <int, pair <int , int> > > > q;
q.push(make_pair(0,make_pair(time2,0)));
int src,t,cos;
int visited[100][100];
memset(visited,0,sizeof(visited));
int u,l;
while (!q.empty()) {
src = q.top().second.second;
t = q.top().second.first;
cos = q.top().first;
q.pop();
if(src == n - 1 && t >= 0) {
u=t;
l=cos;
break;
}
for (int i=0; i < n; i++) {
if(visited[src][i] != 1 && i != src) {
int t2 = t - time[src][i];
if(t2 >= 0) {
q.push(make_pair(cos+cost[src][i],make_pair(t - time[src][i],i)));
visited[src][i] = 1;
}
}
}
}
cout<<l<<" "<<time2-u<<endl;
cin>>c;
}
return 0;
}