#13829: 哪裡錯了? #3、4、5都是TLE


s16101225@stu.edu.tw (蘇)

學校 : 不指定學校
編號 : 74465
來源 : [110.28.77.16]
最後登入時間 :
2019-05-13 21:51:40
c431. Sort ! Sort ! Sort ! | From: [49.217.53.223] | 發表日期 : 2018-05-06 02:36

#include <stdio.h>
#include <stdlib.h>
#define len 1048576
int main ()
{
int a[len] = { NULL };
int b;
int i, j;
int temp;
scanf ("%d", &b);
for (i = 1; i <= b; i++)
{
scanf ("%d", &a[i]);
}
for (i = 1; i < b; i++)
{
for (j = 1; j <= b - i; j++)
{
if (a[j] > a[j + 1])
{
temp = a[j + 1];
a[j + 1] = a[j];
a[j] = temp;
}
}
}
for (i = 1; i <=b; i++)
{
printf ("%d ",a[i]);
}
printf("\n");
return 0;
}

 
#13835: Re:哪裡錯了? #3、4、5都是TLE


nkavengertree (LaG)

學校 : 不指定學校
編號 : 62501
來源 : [49.216.191.28]
最後登入時間 :
2021-11-21 03:06:49
c431. Sort ! Sort ! Sort ! | From: [120.125.211.6] | 發表日期 : 2018-05-07 09:31

#include
#include
#define len 1048576
int main ()
{
int a[len] = { NULL };
int b;
int i, j;
int temp;
scanf ("%d", &b);
for (i = 1; i <= b; i++)
{
scanf ("%d", &a[i]);
}
for (i = 1; i < b; i++)
{
for (j = 1; j <= b - i; j++)
{
if (a[j] > a[j + 1])
{
temp = a[j + 1];
a[j + 1] = a[j];
a[j] = temp;
}
}
}
for (i = 1; i <=b; i++)
{
printf ("%d ",a[i]);
}
printf("\n");
return 0;
}

你所使用的演算法會超過時間TLE
請使用更快速的排序演算法來解題~


 
ZeroJudge Forum