Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:用STL死活TLE, 一生气,老子直接打表过。In Reply To:用STL死活TLE, 一生气,老子直接打表过。 Posted by:TurnAround at 2010-07-10 09:53:03 > #include <cstdio> > #include <string> > //#include <queue> > using namespace std; > /* > struct Node { > Node(string _v, int _r):value(_v), rest(_r){} > string value; > unsigned char rest; > }; > */ > int n; > string m[202]; > string result; > void mySplit() > { > string::size_type pre_pos = 0; > string::size_type cur_pos = 0; > int id = 1; > while ((pre_pos!=string::npos) && ((cur_pos=result.find("$$", pre_pos))!=string::npos)) { > m[id] = result.substr(pre_pos, cur_pos-pre_pos); > pre_pos = cur_pos+2; > id++; > } > } > > int main() > { > result = "1$$10$$111$$100$$10$$1110$$1001$$1000$$111111111$$10$$11$$11100$$1001$$10010$$1110$$10000$$11101$$1111111110$$11001$$100$$10101$$110$$110101$$111000$$100$$10010$$1111111101$$100100$$1101101$$1110$$111011$$100000$$111111$$111010$$10010$$11111111100$$111$$110010$$10101$$1000$$11111$$101010$$1101101$$1100$$1111111110$$1101010$$10011$$1110000$$1100001$$100$$100011$$100100$$100011$$11111111010$$110$$1001000$$11001$$11011010$$11011111$$11100$$100101$$1110110$$1111011111$$1000000$$10010$$1111110$$1101011$$1110100$$11111001$$10010$$10011$$111111111000$$10001$$1110$$11100$$1100100$$1001$$101010$$11101001$$10000$$1111111101$$111110$$101011$$1010100$$111010$$11011010$$11010111$$11000$$11010101$$1111111110$$1001$$11010100$$10000011$$100110$$110010$$11100000$$11100001$$11000010$$111111111111111111$$100$$101$$1000110$$11100001$$1001000$$101010$$1000110$$110100111$$111111110100$$1111111011$$110$$111$$10010000$$1011011$$110010$$1101010$$110110100$$11111110101$$110111110$$110001101$$111000$$11011$$1001010$$10011100011$$11101100$$1000$$11110111110$$11010011$$10000000$$100100001$$10010$$101001$$11111100$$11101111$$11010110$$11111111010$$11101000$$10001$$111110010$$110110101$$100100$$10011$$100110$$1001$$1111111110000$$11011010$$100010$$1100001$$11100$$110111$$11100$$1110001$$11001000$$11111011011$$10010$$1110110$$1010100$$10101101011$$111010010$$100011$$100000$$11101111$$11111111010$$1010111$$1111100$$1111110$$1010110$$11111011$$10101000$$10111101$$111010$$1111011111$$110110100$$1111111011$$110101110$$100100$$110000$$101110011$$110101010$$11010111$$11111111100$$1001111$$10010$$100101$$110101000$$1110$$100000110$$1001011$$1001100$$1111111100001$$110010$$11101111$$111000000$$11001$$111000010$$101010$$110000100$$1101000101$$1111111111111111110$$111000011$$1000$$"; > mySplit(); > while (scanf("%d", &n)) { > if (n == 0) { > break; > } > printf("%s\n", m[n].c_str()); > } > > return 0; > > /* > m[1] = "1"; > for (int i=2; i<=200; i++) { > n = i; > queue<Node> q; > Node first("1", 1); > q.push(first); > > while (!q.empty()) { > Node cur = q.front(); > q.pop(); > if ((cur.rest*10+1) % n == 0) { > m[n] = cur.value+"1"; > break; > } else { > q.push(Node(cur.value+"1", (cur.rest*10+1)%n)); > } > > if ((cur.rest*10) % n == 0) { > m[n] = cur.value+"0"; > break; > } else { > q.push(Node(cur.value+"0", (cur.rest*10)%n)); > } > } > } > */ > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator