空間不知為何又ok了,不過換成時間在4 7 8測資爆炸...
程式碼如下,請問有甚麼方法可以在加快的嗎?
感謝各位
******
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<vector<int> > vvi;
bool less2D(const vector<int>& via,const vector<int>& vib)
{
int nLi;
for(nLi = 0;nLi < via.size();++nLi)
{
if(via[nLi] < vib[nLi]){return true;}
else if(via[nLi] > vib[nLi]){return false;}
}
return false;
}
int main()
{
int nM,nN;
int nLi,nLj,nTemp;
vector<int> viTemp;
while(cin>>nN)
{
cin>>nM;
vvi.clear();
for(nLi = 0;nLi < nN;++nLi)
{
viTemp.clear();
for(nLj = 0;nLj < nM;++nLj)
{
cin>>nTemp;
viTemp.push_back(nTemp);
}
vvi.push_back(viTemp);
}
stable_sort(vvi.begin(),vvi.end(),less2D);
for(nLi = 0;nLi < vvi.size();++nLi)
{
for(nLj = 0;nLj < nM;++nLj)
{
cout<<vvi[nLi][nLj]<<" ";
}
cout<<endl;
}
}
return 0;
}
空間不知為何又ok了,不過換成時間在4 7 8測資爆炸...
程式碼如下,請問有甚麼方法可以在加快的嗎?
感謝各位
******
#include
#include
#include
using namespace std;
vector > vvi;
bool less2D(const vector& via,const vector& vib)
{
int nLi;
for(nLi = 0;nLi < via.size();++nLi)
{
if(via[nLi] < vib[nLi]){return true;}
else if(via[nLi] > vib[nLi]){return false;}
}
return false;
}
int main()
{
int nM,nN;
int nLi,nLj,nTemp;
vector viTemp;
while(cin>>nN)
{
cin>>nM;
vvi.clear();
for(nLi = 0;nLi < nN;++nLi)
{
viTemp.clear();
for(nLj = 0;nLj < nM;++nLj)
{
cin>>nTemp;
viTemp.push_back(nTemp);
}
vvi.push_back(viTemp);
}
stable_sort(vvi.begin(),vvi.end(),less2D);
for(nLi = 0;nLi < vvi.size();++nLi)
{
for(nLj = 0;nLj < nM;++nLj)
{
cout<<<" ";
}
cout<
}
}
return 0;
}
cin換成scanf cout換成 printf就好了...不知道能不能刪文章...
(前面傳好多次居然忘記可能是這原因orz)