#18105: 請問我哪裡錯了


rexwu1104@gmail.com (黑雪公主 Black Lotus)

學校 : 新北市私立南山高級中學
編號 : 93041
來源 : [49.216.131.103]
最後登入時間 :
2024-06-06 19:28:43

#include <cstdio>
using namespace std;
int main() {
char a[4]={0};
while(fgets(a,sizeof(a), stdin)){
int c=0, b[c];
for(int i=0;i<=sizeof(a);i++){
if(a[i]==0)break;
c*=10;
c+=a[i]-'0';
printf("%d\n", c);
}
c/=10;
if(c!=1){
for(int i=c-1;i>=0;i--){
scanf("%d", &b[i]);
b[i]*=i;
}
for(int i=c-1;i>0;i--){
printf("%d ", b[i]);
}
printf("\n");
}
else{
scanf("%d", &b[0]);
printf("0\n");
}
}
}
#18106: Re:請問我哪裡錯了


asnewchien@gmail.com (david)

學校 : 南投縣立旭光高級中學
編號 : 68108
來源 : [114.42.176.221]
最後登入時間 :
2025-10-04 22:52:03

 

50% 就是不夠快。
這個時候就是各種寫法都可以上場試試的時候。

這一題,我覺得用乘法都很奢侈,

所以我把可能相乘的值都先存起來,然後用查表法。

 

 

#18108: Re:請問我哪裡錯了


rexwu1104@gmail.com (黑雪公主 Black Lotus)

學校 : 新北市私立南山高級中學
編號 : 93041
來源 : [49.216.131.103]
最後登入時間 :
2024-06-06 19:28:43

 

50% 就是不夠快。
這個時候就是各種寫法都可以上場試試的時候。

這一題,我覺得用乘法都很奢侈,

所以我把可能相乘的值都先存起來,然後用查表法。

 

 

建表是不是要建很多???


#18110: Re:請問我哪裡錯了


asnewchien@gmail.com (david)

學校 : 南投縣立旭光高級中學
編號 : 68108
來源 : [114.42.176.221]
最後登入時間 :
2025-10-04 22:52:03

我不知道 cpp 怎解

在 python 我建了 50 x 1000

#18111: Re:請問我哪裡錯了


jackyname1@gmail.com (☆♬○♩程式家小崴●♪✧♩)

學校 : 基隆市私立二信高級中學
編號 : 77382
來源 : [114.32.51.178]
最後登入時間 :
2022-04-12 19:45:18

我不知道 cpp 怎解

在 python 我建了 50 x 1000

>>>> 不行耶 !! >_< 這樣要 1.1 sec 

#include <stdio.h>

#include <iostream>

 

using namespace std;

 

int main() {

    int n,temp;

    

    int table[50][1000];

    for(int i=0;i<50;i++)

        for(int j=0;j<1000;j++){

            table[i][j]=i*j;

        }

    

    

    while(scanf("%d",&n)!=EOF){

            for(int i=n-1;i>=1;i--){

                scanf("%d",&temp);

                printf("%d ",table[temp][i]);

            }

            scanf("%d",&temp);

            

            if(n==1)

            putchar('0');

            

            putchar('\n');

    }

    

    

    

    return 0;

}

 

#18112: Re:請問我哪裡錯了


asnewchien@gmail.com (david)

學校 : 南投縣立旭光高級中學
編號 : 68108
來源 : [114.42.176.221]
最後登入時間 :
2025-10-04 22:52:03

我不知道 cpp 怎解

在 python 我建了 50 x 1000

>>>> 不行耶 !! >_< 這樣要 1.1 sec 

#include

#include

 

using namespace std;

 

int main() {

    int n,temp;

    

    int table[50][1000];

    for(int i=0;i<50;i++)

        for(int j=0;j<1000;j++){

            table[i][j]=i*j;

        }

    

    

    while(scanf("%d",&n)!=EOF){

            for(int i=n-1;i>=1;i--){

                scanf("%d",&temp);

                printf("%d ",table[temp][i]);

            }

            scanf("%d",&temp);

            

            if(n==1)

            putchar('0');

            

            putchar('\n');

    }

    

    

    

    return 0;

}

 

請問你如果沒建表
直接 temp * i 是幾秒


 

#18114: Re:請問我哪裡錯了


rexwu1104@gmail.com (黑雪公主 Black Lotus)

學校 : 新北市私立南山高級中學
編號 : 93041
來源 : [49.216.131.103]
最後登入時間 :
2024-06-06 19:28:43

我不知道 cpp 怎解

在 python 我建了 50 x 1000

>>>> 不行耶 !! >_< 這樣要 1.1 sec 

#include

#include

 

using namespace std;

 

int main() {

    int n,temp;

    

    int table[50][1000];

    for(int i=0;i<50;i++)

        for(int j=0;j<1000;j++){

            table[i][j]=i*j;

        }

    

    

    while(scanf("%d",&n)!=EOF){

            for(int i=n-1;i>=1;i--){

                scanf("%d",&temp);

                printf("%d ",table[temp][i]);

            }

            scanf("%d",&temp);

            

            if(n==1)

            putchar('0');

            

            putchar('\n');

    }

    

    

    

    return 0;

}

 

請問你如果沒建表
直接 temp * i 是幾秒


 

#include <cstdio>
using namespace std;
int main() {
char a[4]={0};
while(fgets(a,sizeof(a), stdin)){
int c=0, b[c];
for(int i=0;i<=sizeof(a);i++){
if(a[i]==0)break;
c*=10;
c+=a[i]-'0';
printf("%d\n", c);
}
c/=10;
if(c!=1){
for(int i=c-1;i>=0;i--){
scanf("%d", &b[i]);
b[i]*=i;
}
for(int i=c-1;i>0;i--){
printf("%d ", b[i]);
}
printf("\n");
}
else{
scanf("%d", &b[0]);
printf("0\n");
}
}
}
這樣1.1s



#18115: Re:請問我哪裡錯了


rexwu1104@gmail.com (黑雪公主 Black Lotus)

學校 : 新北市私立南山高級中學
編號 : 93041
來源 : [49.216.131.103]
最後登入時間 :
2024-06-06 19:28:43

我不知道 cpp 怎解

在 python 我建了 50 x 1000

>>>> 不行耶 !! >_< 這樣要 1.1 sec 

#include

#include

 

using namespace std;

 

int main() {

    int n,temp;

    

    int table[50][1000];

    for(int i=0;i<50;i++)

        for(int j=0;j<1000;j++){

            table[i][j]=i*j;

        }

    

    

    while(scanf("%d",&n)!=EOF){

            for(int i=n-1;i>=1;i--){

                scanf("%d",&temp);

                printf("%d ",table[temp][i]);

            }

            scanf("%d",&temp);

            

            if(n==1)

            putchar('0');

            

            putchar('\n');

    }

    

    

    

    return 0;

}

 

借我程式碼,OK???

#18116: Re:請問我哪裡錯了


rexwu1104@gmail.com (黑雪公主 Black Lotus)

學校 : 新北市私立南山高級中學
編號 : 93041
來源 : [49.216.131.103]
最後登入時間 :
2024-06-06 19:28:43

我不知道 cpp 怎解

在 python 我建了 50 x 1000

>>>> 不行耶 !! >_< 這樣要 1.1 sec 

#include

#include

 

using namespace std;

 

int main() {

    int n,temp;

    

    int table[50][1000];

    for(int i=0;i<50;i++)

        for(int j=0;j<1000;j++){

            table[i][j]=i*j;

        }

    

    

    while(scanf("%d",&n)!=EOF){

            for(int i=n-1;i>=1;i--){

                scanf("%d",&temp);

                printf("%d ",table[temp][i]);

            }

            scanf("%d",&temp);

            

            if(n==1)

            putchar('0');

            

            putchar('\n');

    }

    

    

    

    return 0;

}

 

借我程式碼,OK???

好像都是1.1s


#18121: Re:請問我哪裡錯了


ufve0704 (爬 我爬 我爬爬爬 有排行榜這種東西就是要爬 爬過我上面的那...)

學校 : 臺北市私立延平高級中學
編號 : 83268
來源 : [203.72.178.1]
最後登入時間 :
2023-10-30 13:02:50

我不知道 cpp 怎解

在 python 我建了 50 x 1000

>>>> 不行耶 !! >_< 這樣要 1.1 sec 

#include

#include

 

using namespace std;

 

int main() {

    int n,temp;

    

    int table[50][1000];

    for(int i=0;i<50;i++)

        for(int j=0;j<1000;j++){

            table[i][j]=i*j;

        }

    

    

    while(scanf("%d",&n)!=EOF){

            for(int i=n-1;i>=1;i--){

                scanf("%d",&temp);

                printf("%d ",table[temp][i]);

            }

            scanf("%d",&temp);

            

            if(n==1)

            putchar('0');

            

            putchar('\n');

    }

    

    

    

    return 0;

}

 

借我程式碼,OK???

好像都是1.1s


我沒建表:

AC (0.1s, 60KB)

#18126: Re:請問我哪裡錯了


314159265358979323846264338327 ... (少年π)

學校 : 臺北市私立延平高級中學
編號 : 69058
來源 : [223.137.60.223]
最後登入時間 :
2025-05-23 17:43:44

我不知道 cpp 怎解

在 python 我建了 50 x 1000

c++可以不用建表

不過建表理論上來說會比較快,只是差距並不明顯,查表的動作也還有優化的空間

但關鍵還是在優化I/O

python建表是因為它的乘法有點太慢了

#18127: Re:請問我哪裡錯了


ufve0704 (爬 我爬 我爬爬爬 有排行榜這種東西就是要爬 爬過我上面的那...)

學校 : 臺北市私立延平高級中學
編號 : 83268
來源 : [203.72.178.1]
最後登入時間 :
2023-10-30 13:02:50

我不知道 cpp 怎解

在 python 我建了 50 x 1000

c++可以不用建表

不過建表理論上來說會比較快,只是差距並不明顯,查表的動作也還有優化的空間

但關鍵還是在優化I/O

python建表是因為它的乘法有點太慢了

c++建表加優化:

AC (0.1s, 13.6MB)