#37301: 為什麼cpp這樣會比較久


newton9619 (Newton)

學校 : 國立內壢高級中學
編號 : 208479
來源 : [118.161.69.22]
最後登入時間 :
2024-10-19 21:31:27
b759. 我明明就有說過= = | From: [1.161.211.176] | 發表日期 : 2023-08-30 22:28

#include<bits/stdc++.h>
using namespace std;
int main(){
    string line;
    int n;
    cin>>line;
    line=line+line;
    n=line.length()/2;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cout<<line[i+j];
        }
        cout<<endl;
    }
}
--------------------------------------------------------------------
#include<bits/stdc++.h>
using namespace std;
int main(){
    string line;
    int n;
    cin>>line;
    n=line.length();
    for(int i=0;i<n;i++){
        cout<<line<<endl;
        for(int j=0;j<n-1;j++){
            swap(line[j],line[j+1]);
        }
    }
}
上面的我是想說利用兩倍長度再一個一個讀取,結果前面的要94ms,後面只要6ms
 
#37313: Re: 為什麼cpp這樣會比較久


wilson40804@apps.ntpc.edu.tw (廖偉丞)

學校 : 新北市立新莊高級中學
編號 : 216418
來源 : [101.12.97.144]
最後登入時間 :
2024-10-30 17:06:48
b759. 我明明就有說過= = | From: [210.71.72.248] | 發表日期 : 2023-08-31 17:12

 

cout花時間,用越少次越好

 
#37397: Re: 為什麼cpp這樣會比較久


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
b759. 我明明就有說過= = | From: [39.12.34.62] | 發表日期 : 2023-09-05 20:06

#include
using namespace std;
int main(){
    string line;
    int n;
    cin>>line;
    line=line+line;
    n=line.length()/2;
    for(int i=0;i
        for(int j=0;j
            cout<
        }
        cout<
    }
}
--------------------------------------------------------------------
#include
using namespace std;
int main(){
    string line;
    int n;
    cin>>line;
    n=line.length();
    for(int i=0;i
        cout<
        for(int j=0;j
            swap(line[j],line[j+1]);
        }
    }
}
上面的我是想說利用兩倍長度再一個一個讀取,結果前面的要94ms,後面只要6ms


上面的只要把cout改成putchar_unlocked就只剩8ms了

也可以用substr,只要4ms

或是用printf指定輸出長度,只要3ms

 
ZeroJudge Forum