| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
看看我的程序,到底哪里不对啊? runtime error 是怎么回事啊?
//pku 1926
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std ;
class Tank
{
public :
vector<int> link ;
double data ;
int pipe ;
bool use ;
} ;
class System
{
private :
int m , n ;
Tank tank[105] ;
void doEmpty() ;
void doRun(vector<int>& vt,int k) ;
public :
void input() ;
void run() ;
void output() ;
} ;
void System::doEmpty()
{
for ( int i = 1 ; i <= n ; ++ i )
{
tank[i].link.clear() ;
}
}
void System::input()
{
cin>>n>>m ;
int temp , i ;
for( i = 1 ; i <= n ; ++ i )
{
cin>>temp ;
tank[i].data = temp ;
tank[i].use = false ;
}
int one , two ;
for ( i = 0 ; i < m ; ++ i )
{
cin>>one>>two ;
tank[one].link.push_back(two) ;
tank[two].link.push_back(one) ;
}
for ( i = 1 ; i <= n ; ++ i )
{
tank[i].pipe = tank[i].link.size() ;
}
}
void System::doRun(vector<int> & vt,int k )
{
for ( int j = 0 ; j < tank[k].pipe ; ++ j )
{
if ( ! (tank[tank[k].link[j]].use ) )
{
vt.push_back(tank[k].link[j]) ;
tank[tank[k].link[j]].use = true ;
}
}
}
vector<int> vt ;
void System::run()
{
for ( int i = 1 ; i <= n ; ++ i )
{
double sum = 0 ;
int pipe = 0 ;
vt.clear() ;
if ( (! tank[i].use) && tank[i].pipe )
{
vt.push_back(i) ;
tank[i].use = true ;
for ( unsigned p = 0 ; p < vt.size() ; ++ p )
{
int k = vt[p] ;
doRun(vt,k) ;
sum += tank[k].data ;
pipe += tank[k].pipe ;
}
}
for ( unsigned j = 0 ; j < vt.size() ; ++ j )
{
tank[vt[j]].data = tank[vt[j]].pipe * sum / pipe ;
}
}
}
void System::output()
{
for ( int i = 1 ; i <= n ; ++ i )
{
cout<<setiosflags(ios::fixed)<<setprecision(3)<<tank[i].data<<endl ;
}
cout<<endl;
doEmpty() ;
}
int main()
{
int times ;
cin>>times ;
while ( times -- )
{
System s ;
s.input() ;
s.run() ;
s.output() ;
}
return 0 ;
}
运行的时候runtime error
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator