#include <iostream>
#pragma warning(disable : 4996);
using namespace std;
int main(void)
{
std::ios::sync_with_stdio(false);
cin.tie(0);
int n, m;
int temp, t;
int num1[10001];
int num2[10001];
while (scanf("%d%d", &n, &m) != EOF)
{
for (int i = 1; i <= n; i++)
{
temp = 0;
t = 0;
for (int j = 0; j < m; j++)
{
scanf("%d", &num1[j]);
}
for (int j = 0; j < m; j++)
{
scanf("%d", &num2[j]);
for (int k = t; k < m; k++)
{
if (num2[j] == num1[k])
{
t = k;
temp++;
break;
}
}
}
printf("%d\n",temp);
}
}
return 0;
}
小弟是想說邊輸入邊找相同的值
如果找到下次就從上次相同的值開始找
但是測資2仍然TLE
想請教各位大大如何改善
感謝!
#include
#pragma warning(disable : 4996);
using namespace std;
int main(void)
{
std::ios::sync_with_stdio(false);
cin.tie(0);
int n, m;
int temp, t;
int num1[10001];
int num2[10001];
while (scanf("%d%d", &n, &m) != EOF)
{
for (int i = 1; i <= n; i++)
{
temp = 0;
t = 0;
for (int j = 0; j < m; j++)
{
scanf("%d", &num1[j]);
}
for (int j = 0; j < m; j++)
{
scanf("%d", &num2[j]);
for (int k = t; k < m; k++)
{
if (num2[j] == num1[k])
{
t = k;
temp++;
break;
}
}
}
printf("%d\n",temp);
}
}
return 0;
}
小弟是想說邊輸入邊找相同的值
如果找到下次就從上次相同的值開始找
但是測資2仍然TLE
想請教各位大大如何改善
感謝!
當num2[j]<num1[k]就可以找下一個值了,後面的num1越來越大一定不相同
#include
#pragma warning(disable : 4996);
using namespace std;
int main(void)
{
std::ios::sync_with_stdio(false);
cin.tie(0);
int n, m;
int temp, t;
int num1[10001];
int num2[10001];
while (scanf("%d%d", &n, &m) != EOF)
{
for (int i = 1; i <= n; i++)
{
temp = 0;
t = 0;
for (int j = 0; j < m; j++)
{
scanf("%d", &num1[j]);
}
for (int j = 0; j < m; j++)
{
scanf("%d", &num2[j]);
for (int k = t; k < m; k++)
{
if (num2[j] == num1[k])
{
t = k;
temp++;
break;
}
}
}
printf("%d\n",temp);
}
}
return 0;
}
小弟是想說邊輸入邊找相同的值
如果找到下次就從上次相同的值開始找
但是測資2仍然TLE
想請教各位大大如何改善
感謝!
當num2[j]<num1[k]就可以找下一個值了,後面的num1越來越大一定不相同
感謝大佬指點!
改了
但是變成CE
編輯器上是沒問題的 想知道是哪邊又出了問題
感謝!
#include
#pragma warning(disable : 4996);
using namespace std;
int main(void)
{
std::ios::sync_with_stdio(false);
cin.tie(0);
int n, m;
int temp, t;
int num1[10001];
int num2[10001];
while (scanf("%d%d", &n, &m) != EOF)
{
for (int i = 1; i <= n; i++)
{
temp = 0;
t = 0;
for (int j = 0; j < m; j++)
{
scanf("%d", &num1[j]);
}
for (int j = 0; j < m; j++)
{
scanf("%d", &num2[j]);
for (int k = t; k < m; k++)
{
if (num2[j] == num1[k])
{
t = k;
temp++;
break;
}
}
}
printf("%d\n",temp);
}
}
return 0;
}
小弟是想說邊輸入邊找相同的值
如果找到下次就從上次相同的值開始找
但是測資2仍然TLE
想請教各位大大如何改善
感謝!
當num2[j]<num1[k]就可以找下一個值了,後面的num1越來越大一定不相同
感謝大佬指點!
改了但是變成CE
編輯器上是沒問題的 想知道是哪邊又出了問題
感謝!
沒事
終於過啦!!!
不過0.2s有點久就是了qq
感謝大佬指點!