#19489: 系統呼叫了 abort 函式! terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc


089487 (089487)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 82069
來源 : [140.112.150.137]
最後登入時間 :
2024-10-03 16:28:37
d378. 最小路徑 | From: [114.136.67.82] | 發表日期 : 2019-10-03 20:05

以下是我得程式碼

#include<iostream>
#include<queue>
using namespace std;
int main()
{
int t,t2;
int r=1;
while(cin>>t>>t2)
{
int n[t][t2],m[t][t2];
for(int i=0;i<t;i++)
{
for(int j=0;j<t2;j++) cin>>n[i][j],m[i][j]=n[i][j];
}
queue<int> x;
queue<int>y;
x.push(0),y.push(0);
//int x,y;
while(!x.empty())
{
if(x.front()<t2-1)
{
int x2=x.front()+1;
int y2=y.front();
x.push(x.front()+1),y.push(y.front());
if(n[y2][x2]>n[y.front()][x.front()]+m[y2][x2]||n[y2][x2]==m[y2][x2]) n[y2][x2]=n[y.front()][x.front()]+m[y2][x2];
}
if(y.front()<t-1)
{
int y2=y.front()+1;
int x2=x.front();
y.push(y.front()+1),x.push(x.front());
if(n[y2][x2]>n[y.front()][x.front()]+m[y2][x2]||n[y2][x2]==m[y2][x2]) n[y2][x2]=n[y.front()][x.front()]+m[y2][x2];
}
x.pop();
y.pop();
}
cout<<"Case #"<<r<<" :\n";
cout<<n[t-1][t2-1]<<endl;
r++;
}
}

 
#19490: Re:系統呼叫了 abort 函式! terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc


089487 (089487)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 82069
來源 : [140.112.150.137]
最後登入時間 :
2024-10-03 16:28:37
d378. 最小路徑 | From: [114.136.67.82] | 發表日期 : 2019-10-03 20:11

以下是我得程式碼

#include
#include
using namespace std;
int main()
{
int t,t2;
int r=1;
while(cin>>t>>t2)
{
int n[t][t2],m[t][t2];
for(int i=0;i<t;i++)
{
for(int j=0;j<t2;j++) cin>>n[i][j],m[i][j]=n[i][j];
}
queue x;
queuey;
x.push(0),y.push(0);
//int x,y;
while(!x.empty())
{
if(x.front()<t2-1)
{
int x2=x.front()+1;
int y2=y.front();
x.push(x.front()+1),y.push(y.front());
if(n[y2][x2]>n[y.front()][x.front()]+m[y2][x2]||n[y2][x2]==m[y2][x2]) n[y2][x2]=n[y.front()][x.front()]+m[y2][x2];
}
if(y.front()<t-1)
{
int y2=y.front()+1;
int x2=x.front();
y.push(y.front()+1),x.push(x.front());
if(n[y2][x2]>n[y.front()][x.front()]+m[y2][x2]||n[y2][x2]==m[y2][x2]) n[y2][x2]=n[y.front()][x.front()]+m[y2][x2];
}
x.pop();
y.pop();
}
cout<<"Case #"<<r<<" :\n";
cout<<n[t-1][t2-1]<<endl;
r++;
}
}

沒事了

 

 
ZeroJudge Forum