原创 顛倒的價牌——第四屆藍橋杯省賽C語言A組第4題

小李的店裏專賣其它店中下架的樣品電視機,可稱爲:樣品電視專賣店。其標價都是4位數字(即千元不等)。小李爲了標價清晰、方便,使用了預製的類似數碼管的標價籤,只要用顏色筆塗數字就可以了。 這種價牌有個特點,對一些數字,倒過來看也是合理的數字。

原创 hdoj_1010 Temper of The Bone

題目鏈接:杭電OJ-1010 這是一道經典搜索題,常規方法是深搜,當然要加上必要的剪枝條件。 主要的剪枝條件有: 1、奇偶性剪枝(學習鏈接) 2、越界 3、超時 4、剩餘可走區域小於時間 在寫遞歸搜索時普遍的做法是先寫出退出

原创 zoj_2723 Semi-Prime 半素數

題目鏈接:zoj_2723 Semi-Prime 半素數        又是一道有關素數的題,這回找的是半素數,即除了1和本身外,只有兩個素數因子。由於數據量大(2<N<1000 000),所以如果將每個測試數據都做因式分解,一定會出現超

原创 旋轉矩陣——第三屆藍橋杯省賽C語言A組第5題

對一個方陣轉置,就是把原來的行號變列號,原來的列號變行號例如,如下的方陣: 1    2   3   4 5    6   7   8 9   10 11 12 13 14 15 16 轉置後變爲:  1  5  9   13 2  6

原创 取球遊戲——第三屆藍橋杯省賽C語言A組第10題

今盒子裏有n個小球,A、B兩人輪流從盒中取球,每個人都可以看到另一個人取了多少個,也可以看到盒中還剩下多少個,並且兩人都很聰明,不會做出錯誤的判斷。 每個人從盒子中取出的球的數目必須是:1,3,7或者8個。 輪到某一方取球時不能棄權

原创 zoj_2165 Red and Black

題目鏈接:zoj 2165 分析: 專門搜了一道入門級DFS題來做,因爲不需要回溯,而且表示圖的二維數的元素本就代表可走或不可走,所以直接把訪問過的節點標誌爲不可走,不需要額外的數組。 其次是掌握一個改變方向的辦法,先聲明一個方向數組,分

原创 zoj_2876 Phone List

題目鏈接:zoj_2876 Phone List 本題是要考察一個電話號碼是否是另一個號碼的前綴。因爲數據量大,如果逐一 比較會超時。 對於超時問題,一般考慮兩個因素: 1.算法過於低效 2.時間開銷在頻繁的輸入輸出上 Tip1:由於這裏

原创 十六進制轉八進制

時間限制:1.0s   內存限制:512.0MB 問題描述   給定n個十六進制正整數,輸出它們對應的八進制數。 輸入格式   輸入的第一行爲一個正整數n (1<=n<=10)。   接下來n行,每行一個由0~9、大寫字母A~F

原创 zoj_2744 Palindromes 迴文

題目鏈接:點擊打開鏈接 分析:         本題要求統計一個字符串中包含多少個迴文子串,迴文就是正讀、倒讀都是一樣的,單個字符串也是迴文子串。         爲了避免超時錯誤,這裏採用由中心向外擴散的方法判斷一個子串是否是迴文子串:

原创 分糖果

有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲: 每個小朋友都把自己的糖果分一半給左手邊的孩子。 一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。 反覆進行這個遊戲,直到所有小朋友的糖果數

原创 密碼發生器——第三屆藍橋杯省賽C語言A組第8題

在對銀行賬戶等重要權限設置密碼的時候,我們常常遇到這樣的煩惱:如果爲了好記用生日吧,容易被破解,不安全;如果設置不好記的密碼,又擔心自己也會忘記;如果寫在紙上,擔心紙張被別人發現或弄丟了...這個程序的任務就是把一串拼音字母轉換爲6位數字

原创 撲克序列——第五屆藍橋杯省賽C語言A組第6題

A A 2 2 3 3 4 4, 一共4對撲克牌。請你把它們排成一行。 要求:兩個A中間有1張牌,兩個2之間有2張牌,兩個3之間有3張牌,兩個4之間有4張牌。 請填寫出所有符合要求的排列中,字典序最小的那個。 例如:22AA3344 比

原创 排它平方數——第四屆藍橋杯省賽C語言A組第2題

小明正看着 203879 這個數字發呆。原來,203879 * 203879 = 41566646641 這有什麼神奇呢?仔細觀察,203879 是個6位數,並且它的每個數位上的數字都是不同的,並且它平方後的所有數位上都不出現組成它自身的

原创 奪冠概率——第三屆藍橋杯省賽C語言A組第9題

足球比賽具有一定程度的偶然性,弱隊也有戰勝強隊的可能。 假設有甲、乙、丙、丁四個球隊。根據他們過去比賽的成績,得出每個隊與另一個隊對陣時取勝的概率表:       甲     乙    丙    丁    甲  -       0.1

原创 逆波蘭表達式——第四屆藍橋杯省賽C語言A組第6題

正常的表達式稱爲中綴表達式,運算符在中間,主要是給人閱讀的,機器求解並不方便。 例如:3 + 5 * (2 + 6) - 1 而且,常常需要用括號來改變運算次序。 相反,如果使用逆波蘭表達式(前綴表達式)表示,上面的算式則表示爲: - +