青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

coreBugZJ

此 blog 已棄。

微軟2014實習生及秋令營技術類職位在線測試


1.String reorder

Time Limit: 10000ms
Case Time Limit: 1000ms
Memory Limit: 256MB

 

Description

For this question, your program is required to process an input string containing only ASCII characters between ‘0’ and ‘9’, or between ‘a’ and ‘z’ (including ‘0’, ‘9’, ‘a’, ‘z’).

Your program should reorder and split all input string characters into multiple segments, and output all segments as one concatenated string. The following requirements should also be met,
1. Characters in each segment should be in strictly increasing order. For ordering, ‘9’ is larger than ‘0’, ‘a’ is larger than ‘9’, and ‘z’ is larger than ‘a’ (basically following ASCII character order).
2. Characters in the second segment must be the same as or a subset of the first segment; and every following segment must be the same as or a subset of its previous segment.

Your program should output string “<invalid input string>” when the input contains any invalid characters (i.e., outside the '0'-'9' and 'a'-'z' range).

 

Input

Input consists of multiple cases, one case per line. Each case is one string consisting of ASCII characters.

 

Output

For each case, print exactly one line with the reordered string based on the criteria above.

 

Sample In

aabbccdd
007799aabbccddeeff113355zz
1234.89898
abcdefabcdefabcdefaaaaaaaaaaaaaabbbbbbbddddddee


Sample Out

abcdabcd
013579abcdefz013579abcdefz
<invalid input string>
abcdefabcdefabcdefabdeabdeabdabdabdabdabaaaaaaa


代碼:
 1#include <cstdio>
 2#include <cstring>
 3
 4using namespace std;
 5
 6typedef  long long  Lint;
 7
 8#define  L  256
 9Lint cnt[ L ];
10Lint tot;
11
12#define  INVALID  "<invalid input string>"
13
14int main() {
15        int ch = 1;
16        int i;
17        int invalid;
18        while ( EOF != ch ) {
19                memset( cnt, 0sizeof(cnt) );
20                for ( ch = getchar(); (EOF != ch) && ('\n' != ch); ch = getchar() ) {
21                        ++cnt[ ch ];
22                        ++tot;
23                }

24                invalid = 0;
25                for ( i = 0; i < L; ++i ) {
26                        if (    (0 < cnt[ i ]) && 
27                                (!      (       ( ('0' <= i) && ('9' >= i)
28                                                ) || 
29                                                ( ('a' <= i) && ('z' >= i)
30                                                )
31                                        )
32                                )
33                        ) {
34                                invalid = 1;
35                                break;
36                        }

37                }

38                if ( invalid ) {
39                        puts( INVALID );
40                        continue;
41                }

42
43                while ( 0 < tot ) {
44                        for ( i = 0; i < L; ++i ) {
45                                if ( 0 < cnt[ i ] ) {
46                                        putchar( i );
47                                        --cnt[ i ];
48                                        --tot;
49                                }

50                        }

51                }

52                puts( "" );
53        }

54        return 0;
55}

56




2.K-th string

Time Limit: 10000ms
Case Time Limit: 1000ms
Memory Limit: 256MB

 

Description

Consider a string set that each of them consists of {0, 1} only. All strings in the set have the same number of 0s and 1s. Write a program to find and output the K-th string according to the dictionary order. If s​uch a string doesn’t exist, or the input is not valid, please output “Impossible”. For example, if we have two ‘0’s and two ‘1’s, we will have a set with 6 different strings, {0011, 0101, 0110, 1001, 1010, 1100}, and the 4th string is 1001.


Input

The first line of the input file contains a single integer t (1 ≤ t ≤ 10000), the number of test cases, followed by the input data for each test case.
Each test case is 3 integers separated by blank space: N, M(2 <= N + M <= 33 and N , M >= 0), K(1 <= K <= 1000000000). N stands for the number of ‘0’s, M stands for the number of ‘1’s, and K stands for the K-th of string in the set that needs to be printed as output.


Output

For each case, print exactly one line. If the string exists, please print it, otherwise print “Impossible”.


Sample In

3
2 2 2
2 2 7
4 7 47

Sample Out

0101
Impossible
01010111011


代碼:
 1#include <cstdio>
 2#include <cstring>
 3
 4using namespace std;
 5
 6#define  IMP  "Impossible"
 7
 8typedef  long long  Lint;
 9
10#define  L  35
11
12Lint c[ L ][ L ];
13char ans[ L+L ];
14
15void init() {
16        int i, j;
17        memset( c, 0sizeof(c) );
18        c[ 0 ][ 0 ] = 1;
19        for ( i = 1; i < L; ++i ) {
20                c[ i ][ 0 ] = c[ i ][ i ] = 1;
21                for ( j = 1; j < i; ++j ) {
22                        c[ i ][ j ] = c[ i-1 ][ j-1 ] + c[ i-1 ][ j ];
23                }

24        }

25}

26
27static int solve_i( int n0, int n1, int idx, int off ) {
28        if ( (0 == n0) && (0 == n1) && (0 == idx) ) {
29                return 1;
30        }

31
32        if ( ((1 > n0) || (1 > n1)) && (1 != idx) ) {
33                return 0;
34        }

35
36        if ( 1 == idx ) {
37                for ( int i = 0; i < n0; ++i ) {
38                        ans[ off + i ] = '0';
39                }

40                for ( int i = 0; i < n1; ++i ) {
41                        ans[ off + n0 + i ] = '1';
42                }

43                return 1;
44        }

45
46        int i = 0;
47        while ( c[n1+i-1][i] < idx ) {
48                idx -= c[n1+i-1][i];
49                ++i;
50        }

51        for ( int j = 0; j < n0 - i; ++j ) {
52                ans[ off + j ] = '0';
53        }

54        ans[ off + n0 - i ] = '1';
55        return solve_i( i, n1-1, idx, off + n0 - i + 1 );
56}

57
58/*
59n0=n=4, n1=m=7, idx=k=47
60
61i   n0      n1
62
630   0000    1??????     c[6][0] = 1
641   0001    ???????     c[7][1] = 7
652   001?    ???????     c[8][2] = 28
663   01??    ???????     c[9][3] = 84
674   1???    ???????     c[10][4]
68
69*/

70
71int solve( int n, int m, int k ) {
72        if ( c[n+m][n] < k ) {
73                return 0;
74        }

75        memset( ans, 0sizeof(ans) );
76        return solve_i( n, m, k, 0 );
77}

78
79int main() {
80        int tot_case;
81        int n, m, k;
82
83        init();
84
85        scanf( "%d"&tot_case );
86        while ( 0 < tot_case-- ) {
87                scanf( "%d%d%d"&n, &m, &k );
88
89                if ( solve( n, m, k ) ) {
90                        puts( ans );
91                }

92                else {
93                        puts( IMP );
94                }

95        }

96
97        return 0;
98}

99




3.Reduce inversion count

Time Limit: 10000ms
Case Time Limit: 1000ms
Memory Limit: 256MB

Description

Find a pair in an integer array that swapping them would maximally decrease the inversion count of the array. If such a pair exists, return the new inversion count; otherwise returns the original inversion count.

Definition of Inversion: Let (A[0], A[1] ... A[n]) be a sequence of n numbers. If i < j and A[i] > A[j], then the pair (i, j) is called inversion of A.

Example:
Count(Inversion({3, 1, 2})) = Count({3, 1}, {3, 2}) = 2
InversionCountOfSwap({3, 1, 2})=>
{
  InversionCount({1, 3, 2}) = 1 <-- swapping 1 with 3, decreases inversion count by 1
  InversionCount({2, 1, 3}) = 1 <-- swapping 2 with 3, decreases inversion count by 1
  InversionCount({3, 2, 1}) = 3 <-- swapping 1 with 2 , increases inversion count by 1
}


Input

Input consists of multiple cases, one case per line.Each case consists of a sequence of integers separated by comma.

Output

For each case, print exactly one line with the new inversion count or the original inversion count if it cannot be reduced.


Sample In

3,1,2
1,2,3,4,5

Sample Out

1
0


解法:
窮舉兩元素交換,使用修改的歸并排序求逆序對數,時間復雜度O(n*n*n*logn)。



4.Most Frequent Logs
不會。










posted on 2014-04-13 19:11 coreBugZJ 閱讀(3757) 評論(0)  編輯 收藏 引用 所屬分類: ACMAlgorithm

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            日韩一级裸体免费视频| 欧美一区二视频| 欧美成人精品在线| 亚洲精品色婷婷福利天堂| 猛男gaygay欧美视频| 久久女同精品一区二区| 亚洲国产另类精品专区| 亚洲国产欧美日韩另类综合| 欧美国产欧美综合| 99国内精品| 亚洲视频综合在线| 国产午夜亚洲精品理论片色戒| 久久精品一区四区| 蜜臀久久99精品久久久画质超高清| 亚洲精品视频二区| 亚洲在线视频| 在线日韩中文字幕| 亚洲精品黄色| 国产欧美日韩综合| 亚洲国产精品毛片| 国产精品亚洲综合色区韩国| 老司机一区二区三区| 欧美成人精品h版在线观看| 亚洲伊人伊色伊影伊综合网| 午夜久久久久久| 亚洲人www| 亚洲一二三四久久| 91久久精品国产91久久| 亚洲欧美日韩爽爽影院| 亚洲欧洲日韩综合二区| 亚洲欧美一区二区三区极速播放 | 国产精品免费在线| 老司机午夜精品| 欧美午夜片在线观看| 美女日韩欧美| 国产精品亚洲а∨天堂免在线| 欧美大片一区| 国产偷国产偷精品高清尤物| 亚洲黄色免费| 在线观看日韩| 亚洲男女自偷自拍| 99国内精品| 麻豆成人在线| 久久久免费av| 国产精品一区毛片| 亚洲精品国产精品乱码不99按摩 | 国产精品久久久久久久久免费| 老妇喷水一区二区三区| 国产精品青草久久久久福利99| 欧美国产1区2区| 今天的高清视频免费播放成人| 亚洲一区免费看| 亚洲图片欧美午夜| 欧美高清视频| 亚洲成色777777在线观看影院| 国产视频自拍一区| 亚洲在线免费观看| 午夜精品三级视频福利| 欧美体内谢she精2性欧美| 亚洲国产欧美精品| 亚洲精品在线免费| 欧美成人在线影院| 亚洲第一网站免费视频| 亚洲国产三级在线| 狂野欧美一区| 免费欧美日韩| **欧美日韩vr在线| 免费在线欧美黄色| 亚洲高清自拍| 一本久久综合亚洲鲁鲁| 欧美粗暴jizz性欧美20| 亚洲国产精品欧美一二99| 91久久嫩草影院一区二区| 免费成人av在线看| 亚洲黄色大片| 亚洲一区免费观看| 国产精品一区二区久久久| 亚洲欧美中日韩| 久久九九全国免费精品观看| 一区二区在线不卡| 久热精品视频在线观看一区| 亚洲激情自拍| 亚洲欧美日韩一区| 国产亚洲欧美一级| 久久久欧美一区二区| 欧美电影电视剧在线观看| 日韩视频精品在线观看| 国产精品国产a| 欧美在线观看一区二区三区| 欧美a级一区| 一本久久精品一区二区| 国产精品网站视频| 久久婷婷av| 亚洲人人精品| 欧美在线一区二区三区| 有码中文亚洲精品| 欧美日韩国产成人高清视频| 亚洲午夜高清视频| 免费在线亚洲| 欧美亚洲一级片| 在线精品视频一区二区| 欧美日韩理论| 久久亚洲精品一区二区| 9久re热视频在线精品| 久久精品夜色噜噜亚洲a∨| 亚洲精品在线观| 国产午夜一区二区三区| 欧美激情在线免费观看| 欧美呦呦网站| 亚洲视频一区二区在线观看| 美女日韩在线中文字幕| 亚洲一区二区三区成人在线视频精品| 国产揄拍国内精品对白| 欧美日韩亚洲综合一区| 久久久夜精品| 亚洲在线黄色| 一本色道久久综合亚洲精品不| 久久婷婷麻豆| 亚洲女女做受ⅹxx高潮| 亚洲美女黄色片| 狠狠入ady亚洲精品| 国产精品国产三级国产专播精品人| 久久久www免费人成黑人精品| 一本色道久久88综合日韩精品| 欧美刺激性大交免费视频| 久久久国产精品一区二区中文| 亚洲视频在线播放| 亚洲美女黄网| 亚洲片在线观看| 在线观看91精品国产入口| 国产免费亚洲高清| 国产精品久久久久av免费| 欧美精品18+| 欧美久久久久久蜜桃| 美女国产一区| 久久综合伊人| 久久男人资源视频| 久久一日本道色综合久久| 欧美一区二区大片| 欧美一区二区三区精品电影| 亚洲性夜色噜噜噜7777| 亚洲一区激情| 亚洲欧美另类国产| 午夜精品久久久久| 亚洲欧美日韩精品久久久久| 亚洲欧美综合网| 香蕉成人久久| 久久国产精品久久久久久| 久久成人精品电影| 久久亚洲影院| 欧美成人免费网站| 欧美精品一区二区精品网| 欧美激情第一页xxx| 欧美精品一区二区三区很污很色的| 欧美jizz19hd性欧美| 欧美国产高清| 欧美性色aⅴ视频一区日韩精品| 欧美性做爰毛片| 国产亚洲欧美中文| 在线播放精品| 亚洲伦伦在线| 亚洲欧美99| 久久久免费观看视频| 欧美成年网站| 99精品福利视频| 亚洲欧美日韩久久精品| 久久久久久一区| 欧美精品乱码久久久久久按摩| 欧美日韩精品在线视频| 国产日韩欧美二区| 亚洲国产成人精品女人久久久 | 影音先锋欧美精品| 日韩午夜免费| 午夜在线视频观看日韩17c| 久久九九国产精品| 亚洲黄色免费网站| 亚洲一级二级在线| 免费日本视频一区| 国产精品福利网| 亚洲国产欧美另类丝袜| 亚洲欧美欧美一区二区三区| 美女91精品| 亚洲图片在线观看| 久久夜色精品亚洲噜噜国产mv | 久久在线免费观看视频| 欧美婷婷久久| 亚洲观看高清完整版在线观看| 亚洲一区在线观看视频| 裸体歌舞表演一区二区| 亚洲最黄网站| 久久综合给合久久狠狠狠97色69| 欧美午夜电影完整版| 亚洲高清资源| 久久久久国产精品一区三寸 | 欧美伊人久久大香线蕉综合69| 欧美国产91| 久久国产精品电影| 国产女主播在线一区二区| 亚洲人成网站色ww在线| 老司机免费视频久久 |