1. 程式人生 > >2016 藍橋杯 JavaB組 省賽

2016 藍橋杯 JavaB組 省賽

1. 煤球數目

有一堆煤球,堆成三角稜錐形。具體:
第一層放1個,
第二層3個(排列成三角形),
第三層6個(排列成三角形),
第四層10個(排列成三角形),
….
如果一共有100層,共有多少個煤球?

請填表示煤球總數目的數字。

注意:你提交的應該是一個整數,不要填寫任何多餘的內容或說明性文字。

博主有話說:

簡單題,第i層 = 第i-1層 + i

答案:

171700

public class Main {
    public static void main(String[] args) {
        int sum = 0,temp = 0;
        for
(int i = 1 ; i <= 100; i++){ temp += i; sum += temp; } System.out.println(sum); } }

2. 生日蠟燭

某君從某年開始每年都舉辦一次生日party,並且每次都要吹熄與年齡相同根數的蠟燭。

現在算起來,他一共吹熄了236根蠟燭。

請問,他從多少歲開始過生日party的?

請填寫他開始過生日party的年齡數。

注意:你提交的應該是一個整數,不要填寫任何多餘的內容或說明性文字。

博主有話說:

簡單題。

答案:

26

public class Main {
    public static void main(String[] args) {
        for(int i = 1;;i++){
            int sum = 0;
            for(int j = i;;j++){
                sum += j;
                if(sum >= 236)
                    break;
            }
            if(sum == 236){
                System.out.println(i);
                break
; } } } }

3. 算式

算式

這個算式中A~I代表1~9的數字,不同的字母代表不同的數字。

比如:
6+8/3+952/714 就是一種解法,
5+3/1+972/486 是另一種解法。

這個算式一共有多少種解法?

注意:你提交應該是個整數,不要填寫任何多餘的內容或說明性文字。

博主有話說:

可以採用暴力求解的方法,也可以採用深搜。

答案:

29

public class Main {
    static int sum = 0;
    static int[] a = new int[10];
    static int[] check = new int[10];
    public static void main(String[] args) {
        dfs(1);
        System.out.println(sum);
    }
    private static void dfs(int k) {
        //數都選好時
        if(k==10){
            int A = a[1];
            int B = a[2];
            int C = a[3];
            int DEF = a[4]*100+a[5]*10+a[6];
            int GHI = a[7]*100+a[8]*10+a[9];
            //將除法轉化為乘法,避免精度問題
            if((B*GHI+C*DEF) == (10-A)*(C*GHI))
                sum++;

        }
        //利用深搜填數
        for(int i = 1;i <= 9;i++){
            if(check[i] == 1)
                continue;
            a[k] = i;
            check[i] = 1;
            dfs(k+1);//深搜
            check[i] = 0;//回溯
        }
    }
}

4. 分小組

9名運動員參加比賽,需要分3組進行預賽。
有哪些分組的方案呢?

我們標記運動員為 A,B,C,… I
下面的程式列出了所有的分組方法。

該程式的正常輸出為:
ABC DEF GHI
ABC DEG FHI
ABC DEH FGI
ABC DEI FGH
ABC DFG EHI
ABC DFH EGI
ABC DFI EGH
ABC DGH EFI
ABC DGI EFH
ABC DHI EFG
ABC EFG DHI
ABC EFH DGI
ABC EFI DGH
ABC EGH DFI
ABC EGI DFH
ABC EHI DFG
ABC FGH DEI
ABC FGI DEH
ABC FHI DEG
ABC GHI DEF
ABD CEF GHI
ABD CEG FHI
ABD CEH FGI
ABD CEI FGH
ABD CFG EHI
ABD CFH EGI
ABD CFI EGH
ABD CGH EFI
ABD CGI EFH
ABD CHI EFG
ABD EFG CHI
….. (以下省略,總共560行)。

答案:

s + ” ” + (char)(i+’A’) + (char)(j+’A’) + (char)(k + ‘A’) + ” ” + remain(a)

public class Main  
{  
    public static String remain(int[] a)  
    {  
        //最後剩下的三個字母  
        String s = "";  
        for(int i=0; i<a.length; i++){  
            if(a[i] == 0) s += (char)(i+'A');  
        }     
        return s;  
    }  

    public static void f(String s, int[] a)  
    {  
        //從剩下的6個字母中選取三個  
        for(int i=0; i<a.length; i++){//第4個字母  
            if(a[i]==1) continue;  
            a[i] = 1;  
            for(int j=i+1; j<a.length; j++){//第5個字母  
                if(a[j]==1) continue;  
                a[j]=1;  
                for(int k=j+1; k<a.length; k++){//第6個字母  
                    if(a[k]==1) continue;  
                    a[k]=1;  
                    System.out.println(__________________________________);  //填空位置  
                    a[k]=0;  
                }  
                a[j]=0;  
            }  
            a[i] = 0;  
        }  
    }  

    public static void main(String[] args)  
    {  
        //設定一個9個字母的整形陣列,用來標記哪個字母已經被使用  
        int[] a = new int[9];         
        a[0] = 1;//第一個字母  

        for(int b=1; b<a.length; b++){  
            a[b] = 1;//第二個字母  
            for(int c=b+1; c<a.length; c++){  
                a[c] = 1;//第三個字母  
                String s = "A" + (char)(b+'A') + (char)(c+'A');//選出帶有A的第一個小組,儲存在字串s中   
                f(s,a);//從剩下的6個人中抽取3個人  
                a[c] = 0;//清除標記  
            }  
            a[b] = 0;//清除標記  
        }  
    }  
} 

仔細閱讀程式碼,填寫劃線部分缺少的內容。

注意:不要填寫任何已有內容或說明性文字。

5. 抽籤

X星球要派出一個5人組成的觀察團前往W星。
其中:
A國最多可以派出4人。
B國最多可以派出2人。
C國最多可以派出2人。
….

那麼最終派往W星的觀察團會有多少種國別的不同組合呢?

下面的程式解決了這個問題。
陣列a[] 中既是每個國家可以派出的最多的名額。

程式執行結果為:
DEFFF
CEFFF
CDFFF
CDEFF
CCFFF
CCEFF
CCDFF
CCDEF
BEFFF
BDFFF
BDEFF
BCFFF
BCEFF
BCDFF
BCDEF
….
(以下省略,總共101行)

答案:

f(a, k+1, 5-s2.length(),s2)

public class Main  
{  
    public static void f(int[] a, int k, int n, String s)  
    {  
        if(k==a.length){   
            if(n==0) System.out.println(s);  
            return;  
        }  

        String s2 = s;  
        for(int i=0; i<=a[k]; i++){   
            _____________________________;   //填空位置  
            s2 += (char)(k+'A');  
        }  
    }  

    public static void main(String[] args)  
    {  
        int[] a = {4,2,2,1,1,3};  

        f(a,0,5,"");  
    }  
}  

仔細閱讀程式碼,填寫劃線部分缺少的內容。

注意:不要填寫任何已有內容或說明性文字。

6. 方格填數

如下的10個格子:
方格填數

填入0~9的數字。要求:連續的兩個數字不能相鄰。
(左右、上下、對角都算相鄰)

一共有多少種可能的填數方案?

請填寫表示方案數目的整數。

注意:你提交的應該是一個整數,不要填寫任何多餘的內容或說明性文字。

博主有話說:

因為是填空題,直接採用暴力求解或者深搜求得結果後填入即可。

答案:

1580


public class Main  
{  
    static int sum = 0;
    static int[] a = new int[10];
    static int[] check = new int[10];

    public static void main(String[] args)  
    {  
        dfs(0);
        System.out.println(sum);
    }
    private static void dfs(int k) {
        if(k == 10){
            if(Math.abs(a[0]-a[1])>1 && Math.abs(a[0]-a[3])>1 && Math.abs(a[0]-a[4])>1 && Math.abs(a[0]-a[5])>1 &&
                    Math.abs(a[1]-a[2])>1 && Math.abs(a[1]-a[4])>1 && Math.abs(a[1]-a[5])>1 && Math.abs(a[1]-a[6])>1 &&
                    Math.abs(a[2]-a[5])>1 && Math.abs(a[2]-a[6])>1 &&
                    Math.abs(a[3]-a[4])>1 && Math.abs(a[3]-a[7])>1 && Math.abs(a[3]-a[8])>1 &&
                    Math.abs(a[4]-a[5])>1 && Math.abs(a[4]-a[7])>1 && Math.abs(a[4]-a[8])>1 && Math.abs(a[4]-a[9])>1 &&
                    Math.abs(a[5]-a[6])>1 && Math.abs(a[5]-a[8])>1 && Math.abs(a[5]-a[9])>1 &&
                    Math.abs(a[6]-a[9])>1 &&
                    Math.abs(a[7]-a[8])>1 &&
                    Math.abs(a[8]-a[9])>1){
                sum++;
            }
        }
        for(int i = 0;i<10;i++){
            if(check[i] == 1)
                continue;
            check[i] = 1;
            a[k] = i;
            dfs(k+1);
            check[i] = 0;
        }

    }  
}  

7. 剪郵票

剪郵票-1

如圖 有12張連在一起的12生肖的郵票。

現在你要從中剪下5張來,要求必須是連著的。 (僅僅連線一個角不算相連) 。
比如下圖中,粉紅色所示部分就是合格的剪取。

剪郵票-2

剪郵票-3

請你計算,一共有多少種不同的剪取方法。

請填寫表示方案數目的整數。

注意:你提交的應該是一個整數,不要填寫任何多餘的內容或說明性文字。

答案:

116

import java.awt.Point;
import java.util.LinkedList;
import java.util.Queue;

public class Main {
    static int sum;
    static int[] a = new int[5];
    // 四連通圖移動向量
    static int[] dx = { -1, 1, 0, 0 };
    static int[] dy = { 0, 0, 1, -1 };

    public static void main(String[] args) {
        for (a[0] = 1; a[0] <= 12; a[0]++)
            for (a[1] = a[0] + 1; a[1] <= 12; a[1]++)
                for (a[2] = a[1] + 1; a[2] <= 12; a[2]++)
                    for (a[3] = a[2] + 1; a[3] <= 12; a[3]++)
                        for (a[4] = a[3] + 1; a[4] <= 12; a[4]++)
                            f();
        System.out.println(sum);
    }

    static void f() {
        int[][] visited = new int[3][4];
        int x = 0, y = 0;
        // 將選出的數放入visited陣列
        for (int i = 0; i < a.length; i++) {
            x = (a[i] - 1) / 4;
            y = a[i] - 1 - 4 * x;
            visited[x][y] = 1;
        }

        // BFS遍歷
        Queue<Point> queue = new LinkedList<>();
        queue.offer(new Point(x, y));
        visited[x][y] = 0;
        while (queue.size() > 0) {
            Point p = queue.poll();
            for (int i = 0; i < dx.length; i++) {
                int tx = p.x + dx[i];
                int ty = p.y + dy[i];
                if (tx < 0 || tx >= visited.length || ty < 0 || ty >= visited[0].length)
                    continue;
                if (visited[tx][ty] == 1) {
                    queue.offer(new Point(tx, ty));
                    visited[tx][ty] = 0;
                }
            }
        }

        // 如果仍然存在visited[i][j],不符合條件
        boolean flag = true;
        for (int i = 0; i < visited.length; i++) {
            for (int j = 0; j < visited[i].length; j++)
                if (visited[i][j] == 1) {
                    flag = false;
                    break;
                }
            if (!flag) {
                break;
            }
        }
        if (flag)
            sum++;
    }
}

8. 四平方和

四平方和定理,又稱為拉格朗日定理:
每個正整數都可以表示為至多4個正整數的平方和。
如果把0包括進去,就正好可以表示為4個數的平方和。

比如:
5 = 0^2 + 0^2 + 1^2 + 2^2
7 = 1^2 + 1^2 + 1^2 + 2^2
(^符號表示乘方的意思)

對於一個給定的正整數,可能存在多種平方和的表示法。
要求你對4個數排序:
0 <= a <= b <= c <= d
並對所有的可能表示法按 a,b,c,d 為聯合主鍵升序排列,最後輸出第一個表示法

程式輸入為一個正整數N (N<5000000)
要求輸出4個非負整數,按從小到大排序,中間用空格分開

例如,輸入:

5

則程式應該輸出:

0 0 1 2

再例如,輸入:

12

則程式應該輸出:

0 2 2 2

再例如,輸入:

773535

則程式應該輸出:

1 1 267 838

資源約定:

峰值記憶體消耗(含虛擬機器) < 256M
CPU消耗 < 3000ms

請嚴格按要求輸出,不要畫蛇添足地列印類似:“請您輸入…” 的多餘內容。

import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int num = s.nextInt();
        int temp = (int) Math.sqrt(num);
        for(int i = 0;i<=temp;i++)
            for(int j = i;j<=temp;j++)
                for(int k = j;k<=temp;k++)
                    for(int t = k;t<=temp;t++){
                        if(i*i+j*j+k*k+t*t == num){
                            System.out.println(i+" "+j+" "+k+" "+t);
                            return;
                    }
                }
    }
}

9. 取球博弈

兩個人玩取球的遊戲。

一共有N個球,每人輪流取球,每次可取集合{n1,n2,n3}中的任何一個數目。
如果無法繼續取球,則遊戲結束。
此時,持有奇數個球的一方獲勝。
如果兩人都是奇數,則為平局。

假設雙方都採用最聰明的取法,
第一個取球的人一定能贏嗎?
試程式設計解決這個問題。

輸入格式:

第一行3個正整數n1 n2 n3,空格分開,表示每次可取的數目 (0<n1,n2,n3<100)
第二行5個正整數x1 x2 … x5,空格分開,表示5局的初始球數(0<xi<1000)

輸出格式:

一行5個字元,空格分開。分別表示每局先取球的人能否獲勝。
能獲勝則輸出+,次之,如有辦法逼平對手,輸出0,無論如何都會輸,則輸出-

例如,輸入:

1 2 3
1 2 3 4 5

程式應該輸出:

+ 0 + 0 -

再例如,輸入:

1 4 5
10 11 12 13 15

程式應該輸出:

0 - 0 + +

再例如,輸入:

2 3 5
7 8 9 10 11

程式應該輸出:

+ 0 0 0 0

資源約定:

峰值記憶體消耗(含虛擬機器) < 256M
CPU消耗 < 3000ms

import java.util.*;

public class Main {
    static int[] na = new int[3]; // 可以拿球數目的陣列
    static Map buf = new HashMap();

    // false=持有奇數
    static int pan(boolean me, boolean you) {
        if (me == true && you == false)
            return -1;
        if (me == false && you == true)
            return 1;
        return 0;
    }

    // n 所剩球數
    // me, you 手裡已有球的奇偶性
    // -1 輸,0 平局, 1 贏
    static int f(int n, boolean me, boolean you) {
        if (n < na[0])
            return pan(me, you);

        String key = "" + n + me + you;
        if (buf.get(key) != null)
            return (Integer) buf.get(key);

        boolean ping = false;

        for (int v : na) {
            if (n >= v) {
                int t = f(n - v, you, v % 2 == 0 ? me : !me);
                if (t < 0) {
                    buf.put(key, 1);
                    return 1;
                }
                if (t == 0)
                    ping = true;
            }
        }

        if (ping) {
            buf.put(key, 0);
            return 0;
        }
        buf.put(key, -1);
        return -1;
    }

    public static void main(String[] args) {
        Map map = new HashMap();
        map.put(1, "+");
        map.put(0, "0");
        map.put(-1, "-");

        Scanner scan = new Scanner(System.in);
        String[] ss = scan.nextLine().split(" ");
        na[0] = Integer.parseInt(ss[0]);
        na[1] = Integer.parseInt(ss[1]);
        na[2] = Integer.parseInt(ss[2]);

        ss = scan.nextLine().split(" ");
        int[] a = new int[5];
        for (int i = 0; i < a.length; i++) {
            a[i] = Integer.parseInt(ss[i]);
            System.out.print(map.get(f(a[i], true, true)) + " ");
        }
        System.out.println();
    }
}

10. 壓縮變換

小明最近在研究壓縮演算法。
他知道,壓縮的時候如果能夠使得數值很小,就能通過熵編碼得到較高的壓縮比。
然而,要使數值很小是一個挑戰。

最近,小明需要壓縮一些正整數的序列,這些序列的特點是,後面出現的數字很大可能是剛出現過不久的數字。對於這種特殊的序列,小明準備對序列做一個變換來減小數字的值。

變換的過程如下:
從左到右列舉序列,每列舉到一個數字,如果這個數字沒有出現過,剛將數字變換成它的相反數,如果數字出現過,則看它在原序列中最後的一次出現後面(且在當前數前面)出現了幾種數字,用這個種類數替換原來的數字。

比如,序列(a1, a2, a3, a4, a5)=(1, 2, 2, 1, 2)在變換過程為:
a1: 1未出現過,所以a1變為-1;
a2: 2未出現過,所以a2變為-2;
a3: 2出現過,最後一次為原序列的a2,在a2後、a3前有0種數字,所以a3變為0;
a4: 1出現過,最後一次為原序列的a1,在a1後、a4前有1種數字,所以a4變為1;
a5: 2出現過,最後一次為原序列的a3,在a3後、a5前有1種數字,所以a5變為1。
現在,給出原序列,請問,按這種變換規則變換後的序列是什麼。

輸入格式:

輸入第一行包含一個整數n,表示序列的長度。
第二行包含n個正整數,表示輸入序列。

輸出格式:

輸出一行,包含n個數,表示變換後的序列。

例如,輸入:

5
1 2 2 1 2

程式應該輸出:

-1 -2 0 1 1

再例如,輸入:

12
1 1 2 3 2 3 1 2 2 2 3 1

程式應該輸出:

-1 0 -2 -3 1 1 2 2 0 0 2 2

資料規模與約定

對於30%的資料,n<=1000;
對於50%的資料,n<=30000;
對於100%的資料,1 <=n<=100000,1<=ai<=10^9

資源約定:

峰值記憶體消耗(含虛擬機器) < 256M
CPU消耗 < 3000ms

請嚴格按要求輸出,不要畫蛇添足地列印類似:“請您輸入…” 的多餘內容。

博主有話說:

利用set集合元素不存在的特性來求數字的種類

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Main{
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int len = s.nextInt();
        int[] a = new int[len];
        int[] result = new int[len];

        for(int i = 0;i<len;i++)
            a[i] = s.nextInt();

        for(int i = 0;i<len;i++){
            boolean isAppear = false;
            int temp = -1;
            for(int j = 0;j<i;j++){
                if(a[j] == a[i]){
                    temp = j;
                    isAppear = true;
                }
            }
            if(isAppear == false){
                result[i] = -1*a[i];
            }else{
                Set<Integer> set = new HashSet<>();
                for(int j=temp+1;j<i;j++)
                    set.add(a[j]);
                result[i] = set.size();
            }
        }

        for(int i =0;i<len;i++){
            if(i != len-1)
                System.out.print(result[i] + " ");
            else 
                System.out.print(result[i]);

        }
    }
}

相關推薦

2016 藍橋 JavaB

1. 煤球數目 有一堆煤球,堆成三角稜錐形。具體: 第一層放1個, 第二層3個(排列成三角形), 第三層6個(排列成三角形), 第四層10個(排列成三角形), …. 如果一共有100層,共有多少個煤球? 請填表示煤球總數目的數字

2014年第五屆藍橋JavaB試題解析

包括 分數 年齡 dex 傳統 check 小學 位數 最大 題目及解析如下: 題目大致介紹: 第一題到第三題以及第六題是結果填空,方法不限只要得到最後結果就行 第四題和第五題是代碼填空題,主要考察算法基本功和編程基本功 第七題到第十題是編程題,要求編程解決問題

2017年第八屆藍橋JavaB試題解析

font 藍橋杯 第一題 nbsp size 代碼 解決 省賽 style 題目及解析如下: 題目大致介紹: 第一題到第四題是結果填空,方法不限只要得到最後結果就行 第五題和第六題是代碼填空題,主要考察算法基本功和編程基本功 第七題到第十題是編程題,要求編程解決問題

2018C/C++藍橋B

個人理解,僅供參考,歡迎討論 (2) 標題:明碼 漢字的字形存在於字型檔中,即便在今天,16點陣的字型檔也仍然使用廣泛。 16點陣的字型檔把每個漢字看成是16x16個畫素資訊。並把這些資訊記錄在位元組中。 一個位元組可以儲存8位資訊,用32個位元組就可以存一個漢字的字形

2017第八屆藍橋B第六題:最大公共子串

第六題 標題:最大公共子串 最大公共子串長度問題就是: 求兩個串的所有子串中能夠匹配上的最大長度是多少。 比如:"abcdkkk" 和 "baabcdadabc", 可以找到的最長的公共子串是"a

2015年藍橋JavaA真題

1.熊怪吃核桃 森林裡有一隻熊怪,很愛吃核桃。不過它有個習慣,每次都把找到的核桃分成相等的兩份,吃掉一份,留一份。如果不能等分,熊怪就會扔掉一個核桃再分。第二天再繼續這個過程,直到最後剩一個核桃了,直接丟掉。 有一天,熊怪發現了1543個核桃,請問,它在吃這些核桃的過程中

煤球數目(2016年第七屆藍橋c/c++B(1題))

第一題 :煤球數目 題目敘述: 有一堆煤球,堆成三角稜錐形。具體: 第一層放1個, 第二層3個(排列成三角形), 第三層6個(排列成三角形), 第四層10個(排列成三角形), …. 如果

第七屆藍橋大賽個人賽(軟件類)B

string 問題 pan 圖1 http this 藍橋杯 不同 ogr 3.湊算式 B DEFA + --- + ------- = 10 C GHI (如果顯示有問題,可以參見【圖1.jpg】) 這個算式中A~I代表1~

平方十位數——第八屆藍橋JavaB(國)第一題

返回 枚舉 args 第一題 AI 變量 ++ 10個 tro 原創 標題:平方十位數 由0~9這10個數字不重復、不遺漏,可以組成很多10位數字。這其中也有很多恰好是平方數(是某個數的平方)。 比如:1026753849,就是其中最小的一個平方數。 請你找出其中最大的一

【體驗】 第九屆藍橋 C/C++ ----(B

第九屆藍橋杯大賽個人賽省賽(軟體類) C/C++ 大學B組 考生須知: 考試開始後,選手首先下載題目,並使用考場現場公佈的解壓密碼解壓試題。 考試時間為4小時。時間截止後,提交答案無效。 在考試強制結束前,選手可以主動結束考試(需要身份驗證),結束考試後將無法繼續提

第七屆藍橋大賽個人賽(軟體類)A第三題

方格填數 如下的10個格子 ±-±-±-+ | | | | ±-±-±-±-+ | | | | | ±-±-±-±-+ | | | | ±-±-±-+ (如果顯示有問題,也可以參看【圖1.jpg】) 填入0~9的數字。要求:連續的兩個數字不能相鄰。 (左右、上下、對角都算相鄰) 一共有多少種

第七屆藍橋大賽個人賽(軟體類)A第二題

生日蠟燭 某君從某年開始每年都舉辦一次生日party,並且每次都要吹熄與年齡相同根數的蠟燭。 現在算起來,他一共吹熄了236根蠟燭。 請問,他從多少歲開始過生日party的? 請填寫他開始過生日party的年齡數。 程式碼: #include <iostream> using

第七屆藍橋大賽個人賽(軟體類)A第一題

某君新認識一網友。 當問及年齡時,他的網友說: “我的年齡是個2位數,我比兒子大27歲, 如果把我的年齡的兩位數字交換位置,剛好就是我兒子的年齡” 請你計算:網友的年齡一共有多少種可能情況? 程式碼: #include <iostream> using namespa

第七屆藍橋大賽個人賽C++ A 題解+原題 (填空題)

#include <stdio.h> void swap(int a[], int i, int j) { int t = a[i]; a[i] = a[j]; a[j] = t; } int partition(int a[], int p, int r) { int i = p;

第七屆藍橋大賽個人賽(軟體類)真題 C語言B 3

B組2題和A組的是重複的,so,跳過~ 題目:湊算式      B      DEF A + --- + ------- = 10      C      GHI      (如果顯示有問題,可以參見【圖1.jpg】)    這個算式中A~I代表1~9的數字,不同的字

第七屆藍橋大賽個人賽(軟體類)B真題

本文持續更新,直至更完。 1.網友年齡 某君新認識一網友。 當問及年齡時,他的網友說: “我的年齡是個2位數,我比兒子大27歲, 如果把我的年齡的兩位數字交換位置,剛好就是我兒子的年齡” 請你計算:

第七屆藍橋大賽個人賽C語言A題目答案

第七屆省賽題目 注意 簡單的題目,只是寫了一個函式實現功能,對於複雜的題目,會給出全部程式碼 1 題目 網友年齡 某君新認識一網友。 當問及年齡時,他的網友說: “我的年齡是個2位數,我比兒子大27歲, 如果把我的年齡的兩位數字交換位置

2018年藍橋B和河南省第十一屆ACM比賽心得

*******今年不禁要問一句,這比賽都是咋了,日期老撞在一塊,藍橋杯省賽和天梯賽相差一天,藍橋杯國賽和河南省第十一屆ACM程式設計競賽相差一天,逼的大家行程很緊。*******藍橋杯省賽比賽完後感覺不是很好,結果發現自己在省一等獎的中間,很開心還能參加個國賽,去北京玩兩天。

第七屆藍橋大賽個人賽(軟體類)真題 C語言B 1

本來想繼續擼a組第三道的,然而一小時還沒弄會。。。so決定改天再弄。先做做b組的。畢竟報的b哈哈。 題目:煤球數目 有一堆煤球,堆成三角稜錐形。具體: 第一層放1個, 第二層3個(排列成三角形),

(2017)第八屆藍橋大賽個人賽(軟體類) C/C++ 大學A 題解(第五題和第六題)

前言今天是情人節呢❤ 正好現在睡不著,先解決簡單的題吧。程式碼填空題區程式碼填空題:要求選手在弄清給定程式碼工作原理的基礎上填寫缺失的部分,使得程式邏輯正確、完整。把程式碼填空的答案(僅填空處的答案,不包括題面已存在的程式碼或符號)直接通過網頁提交即可,不要書寫多餘的內容。使