#12761: 解題心得


TzuchunChen (陳子濬)

學校 : 國立嘉義高級中學
編號 : 59216
來源 : [49.215.236.123]
最後登入時間 :
2019-05-06 08:46:33
d643. 勞動的符咒 -- jack1 | From: [27.105.29.71] | 發表日期 : 2017-09-27 20:27

一般排序會在第3測資TLE

用優先權佇列取代即可

 
#12762: Re:解題心得


TzuchunChen (陳子濬)

學校 : 國立嘉義高級中學
編號 : 59216
來源 : [49.215.236.123]
最後登入時間 :
2019-05-06 08:46:33
d643. 勞動的符咒 -- jack1 | From: [27.105.29.71] | 發表日期 : 2017-09-27 20:29

一般排序會在第3測資TLE

用優先權佇列取代即可

#include<bits/stdc++.h>

using namespace std;

int main(int argc, char** argv){

 

    ios::sync_with_stdio(0);

    cin.tie(0);

    string line;

    while(cin>>line){

        int l=line.length();

        queue<int> q;

        for(int i=1;i<=l/2;i++)

            if(l%i==0)

                q.push(i);

        bool ri=false;

        while(!q.empty()){

            int n=q.front();

            priority_queue<string,vector<string>,greater<string> > pq;

            string s[l/n];

            for(int i=0;i<l/n;i++){

                for(int j=0;j<n;j++)

                    s[i]+=line[i*n+j];

                pq.push(s[i]);

            }

            string ch;

            while(!pq.empty()){

                ch+=pq.top();

                pq.pop();

            }

            if(ch!=line){

                cout<<ch<<'\n';

                ri=true;

            }

            q.pop();

        }

        if(!ri)

            cout<<"bomb!\n";

    }

    return 0;

}

#0: 30% AC (0ms, 340KB)

通過檢測

#1: 35% AC (0ms, 316KB)

通過檢測
通過檢測



 
ZeroJudge Forum