|
|
back to boardWA,What's wrong with my program? Please HELP! THANKS! Posted by Nico 25 Aug 2015 14:47 #include <iostream> #include <vector> using namespace std; const int MAXVALUE=999999999; int MinInVector(std::vector<int> v); class Kind_Spirits { public: Kind_Spirits(int); void ReadCompute();
private: int BlockNumber,Level; std::vector<vector<int> > DistanceLevel; }; int main(int argc, char const *argv[]) { //cout<<"MAXVALUE= "<<MAXVALUE; int a; cin>>a; Kind_Spirits* KS = new Kind_Spirits(a); KS->ReadCompute(); return 0; } Kind_Spirits::Kind_Spirits(int n) { BlockNumber=n; Level=0; std::vector<int> tv; DistanceLevel.resize(n+1,tv); DistanceLevel[0].push_back(0); } void Kind_Spirits::ReadCompute() { char LevelNumber; int NO,dis,bn=BlockNumber; while(bn--) { cin>>LevelNumber; if(LevelNumber=='*') { bn++; continue; } Level++; for(int i=0;i<(int)LevelNumber-48;i++) { DistanceLevel[Level].resize((int)LevelNumber-48,MAXVALUE); while(cin>>NO&&NO!=0) { cin>>dis; DistanceLevel[Level][i]= min(DistanceLevel[Level][i],DistanceLevel[Level-1][NO-1]+dis); } //cout<<"Level min"<<DistanceLevel[Level][i]<<endl; } } //for(int i=0;i<BlockNumber+1;i++) //dspv(DistanceLevel[i]); cout<<MinInVector(DistanceLevel[BlockNumber])<<endl; } int MinInVector(std::vector<int> v) { int m=MAXVALUE; for(unsigned int i=0;i<v.size();i++) { m=min(m,v[i]); } return m; } Edited by author 25.08.2015 14:47 Edited by author 25.08.2015 14:54 Edited by author 25.08.2015 14:54 Re: WA,What's wrong with my program? Please HELP! THANKS! Posted by Nico 25 Aug 2015 14:49 Who can give me some tricky test! Thank you very much! Re: WA,What's wrong with my program? Please HELP! THANKS! Posted by Nico 25 Aug 2015 16:00 pass! thank you! Re: WA,What's wrong with my program? Please HELP! THANKS! Posted by Nico 25 Aug 2015 16:00 pass! thank you! |
|
|