第二測資一直TLE,whats wrong with that?
第二測資一直TLE,whats wrong with that?
這樣我們無法幫您,不妨撥冗PO出您的程式碼吧?
第二測資一直TLE,whats wrong with that?
這樣我們無法幫您,不妨撥冗PO出您的程式碼吧?
#include<iostream>
using namespace std;
unsigned int n,m;
int main(){
cin>>n>>m;
long int hisnum[m],hernum[m],total;
while(n != 0){
total = 0;
for(unsigned short lcv = 0;lcv<m;lcv++)
cin>>hisnum[lcv];
for(unsigned short lcv = 0;lcv<m;lcv++)
cin>>hernum[lcv];
//------------------------------------------------------
for(unsigned int lcv = 0;lcv<m;lcv++){
for(unsigned int inlcv = 0;inlcv<m;inlcv++){
if(hisnum[lcv] == hernum[inlcv]){
total++;
}
}
}
cout<<total<<'\n';
n--;
}
return 0;
}
我是有注意到我這樣是暴力破解,但又不知道更好的方法,所以才提問^_^
第二測資一直TLE,whats wrong with that?
這樣我們無法幫您,不妨撥冗PO出您的程式碼吧?
#include
using namespace std;
unsigned int n,m;
int main(){
cin>>n>>m;
long int hisnum[m],hernum[m],total;
while(n != 0){
total = 0;
for(unsigned short lcv = 0;lcv<m;lcv++)
cin>>hisnum[lcv];
for(unsigned short lcv = 0;lcv<m;lcv++)
cin>>hernum[lcv];
//------------------------------------------------------
for(unsigned int lcv = 0;lcv<m;lcv++){
for(unsigned int inlcv = 0;inlcv<m;inlcv++){
if(hisnum[lcv] == hernum[inlcv]){
total++;
}
}
}
cout<<total<<'\n';
n--;
}
return 0;
}
我是有注意到我這樣是暴力破解,但又不知道更好的方法,所以才提問^_^
可以試著在第二層迴圈判斷第二個人(在這邊是您程式碼中的"her")現在輪到的數字,是否大於第一個人現在的數字。
如果是,就跳出第二層迴圈,讓第一層繼續迭代。
此外,兩人數字相同時,把第二人現在的index(索引值)存在一個變數裡。下次進入第二層迴圈時,就從那個index開始即可(因為在此之前的已經判斷過了)。
以上。
第二測資一直TLE,whats wrong with that?
這樣我們無法幫您,不妨撥冗PO出您的程式碼吧?
#include
using namespace std;
unsigned int n,m;
int main(){
cin>>n>>m;
long int hisnum[m],hernum[m],total;
while(n != 0){
total = 0;
for(unsigned short lcv = 0;lcv<m;lcv++)
cin>>hisnum[lcv];
for(unsigned short lcv = 0;lcv<m;lcv++)
cin>>hernum[lcv];
//------------------------------------------------------
for(unsigned int lcv = 0;lcv<m;lcv++){
for(unsigned int inlcv = 0;inlcv<m;inlcv++){
if(hisnum[lcv] == hernum[inlcv]){
total++;
}
}
}
cout<<total<<'\n';
n--;
}
return 0;
}
我是有注意到我這樣是暴力破解,但又不知道更好的方法,所以才提問^_^
可以試著在第二層迴圈判斷第二個人(在這邊是您程式碼中的"her")現在輪到的數字,是否大於第一個人現在的數字。
如果是,就跳出第二層迴圈,讓第一層繼續迭代。
此外,兩人數字相同時,把第二人現在的index(索引值)存在一個變數裡。下次進入第二層迴圈時,就從那個index開始即可(因為在此之前的已經判斷過了)。
以上。
謝謝!!