1. 程式人生 > >GDUFS 2018資訊學院程式設計新手賽(正式賽)Java版題解

GDUFS 2018資訊學院程式設計新手賽(正式賽)Java版題解

Problem A: HELLO
Description
《絕地求生》(PUBG) 是一款戰術競技型射擊類沙盒遊戲 。 該遊戲中,玩家需要在遊戲地圖上收集各種資源,並在不斷縮小的安全區域內對抗其他玩家,讓自己生存到最後。遊戲《絕地求生》除獲得G-STAR最高獎項總統獎以及其他五項大獎 ,還打破了7項吉尼斯紀錄。小洪是這個遊戲的狂熱愛好者,就在他今天準備“吃雞”的時候他的舍友小權突然提醒他今天是新手賽!他果斷停止遊戲,衝向實驗室,輸入了今天的比賽地址222.201.101.7,但是他發現登不上網站!於是他向你求救!

Input
輸入只有一行,由不超過20個字元組成字串,字串僅由數字和字元“.”組成,判斷其是否是今天的比賽網址。

Output
如果是輸入的字串是 “222.201.101.7” (不包括雙引號),那麼輸出"Yes",否則輸出 “No”

Sample Input
222.201.101.5

Sample Output
No

簡單的字串比較題,但是用“==”比較是不行的,這樣比較的是兩個字串物件的引用,需要使用“equals”函式比較。

import java.util.Scanner;
 
public class Main {
    static String pa = "222.201.101.7";
    public static void main(String[] args) {
Scanner reader = new Scanner(System.in); String in = reader.next(); if(in.equals(pa)) { System.out.println("Yes"); } else { System.out.println("No"); } } }

Problem B: ORZ
Description
《英雄聯盟》(簡稱LOL)是由美國拳頭遊戲(Riot Games)開發、中國大陸地區騰訊遊戲代理運營的英雄對戰MOBA競技網遊。遊戲裡擁有數百個個性英雄,並擁有排位系統、符文系統等特色養成系統。《英雄聯盟》還致力於推動全球電子競技的發展,除了聯動各賽區發展職業聯賽、打造電競體系之外,每年還會舉辦“季中冠軍賽”“全球總決賽”“All Star全明星賽”三大世界級賽事,獲得了億萬玩家的喜愛,形成了自己獨有的電子競技文化。小洪是英雄聯盟的狂熱愛好者,今天他決定學習三角形打野法。現在給你三條邊,小洪可以花費一點法力讓某一條邊的長度增加1,請問要使得這三條邊能組成三角形,最少需要多少法力?

Input
輸入只有一行,三個數字A,B,C,分別代表三條邊的長度。
所有數字範圍為 (1~100)

Output
一個整數,代表最少需要多少法力,才能使得這三條邊能組成一個三角形。

Sample Input
樣例輸入1:
3 4 5

樣例輸入2:
2 3 5

樣例輸入3:
100 10 10

Sample Output
樣例輸出1:
0

樣例輸出2:
1

樣例輸出3:
81

三角形兩邊之和大於第三邊,如果最小的兩邊相加都大於第三邊,直接輸出0即可,如不符合則計算出差了多少。

import java.util.Arrays;
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        int[] tri = new int[3];
        for (int i = 0; i < 3; i++) {
            tri[i] = reader.nextInt();
        }
        Arrays.sort(tri);
        if(tri[0] + tri[1] > tri[2]) {
            System.out.println(0);
            return;
        }
        System.out.println(tri[2] - (tri[0] + tri[1]) + 1);
    }
}

Problem C: NIGHTMARE
Description
《陰陽師》是由中國網易移動遊戲公司自主研發的3D日式和風回合制RPG手遊。2016年6月1日11:00,《陰陽師》開放安卓首測 ;同年9月2日,登陸ios平臺於App Store首發 ;同年9月9日,陰陽師全平臺公測 。遊戲中的和風元素是以《源氏物語》的古日本平安時代為背景設計的。遊戲劇情以日本平安時代為背景,講述了陰陽師安倍晴明於人鬼交織的陰陽兩界中,探尋自身記憶的故事 。小洪是陰陽師的狂熱愛好者,今天他十連抽的時候抽到了3個SSR!於是他決定開個Party慶祝。在party中,有一個大Pizza~小洪要把它平均的分給N個小夥伴(包括他自己),那麼小洪最少要切多少刀呢?我們假設 Pizza是圓的,並且不能傷害自己的小夥伴-_-||

Input
輸入只有一行,一個數字N,代表Party中有N個小夥伴。
所有數字範圍為 (1~100)

Output
要平均分的最少刀數

Sample Input
樣例輸入1:
1

樣例輸入2:
3

樣例輸入3:
4

Sample Output
樣例輸出1:
0

樣例輸出2:
3

樣例輸出3:
2

為什麼要說不能切小夥伴呢?
以樣例2為例,1塊披薩分給3個小夥伴,只需要砍死兩個小夥伴即可平均分配,顯然比切比薩更優。
但是,披薩只能一刀刀切,小夥伴卻可以一刀砍死兩個,那麼這裡是輸出1還是2呢?
出於這一層考慮,禁止大家考慮切小夥伴的策略。
(魔鬼的胡說八道)

好吧,只考慮切披薩,那麼偶數人只需要切一半人數的刀,奇數人則需要剛好切人數刀,只有一個人時不需要切。

至於為什麼是這樣,請不明白的同學自己切切切。

import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        int in = reader.nextInt();
        if(in == 1) {
            System.out.println(0);
            return;
        }
        if(in % 2 == 0) {
            System.out.println(in / 2);
        }else {
            System.out.println(in);
        }
    }
}

Problem D: GAME
Description
《糖果傳奇》是由King開發的一款微策略消除手遊,於2014年8月發行。遊戲設定了超過500關的關卡,在遊戲中,玩家可以通過三個或三個以上的糖果以不同方式的連線消除得分,碰撞開不同的障礙物完成任務。小洪是糖果傳奇的狂熱愛好者。他和他的女朋友都特別喜歡這個遊戲,現在他們相約在某個地方一起玩這個遊戲。我們假設他們的家在一個X軸上。小洪的家在 X1=a的位置,他女朋友在X2=b的位置。每個人都可以在X軸上行走任意多次。當一個人移動一次的時候,他的疲勞值會改變,疲勞值改變的規則如下:
第一次移動疲勞值增加1,第二次移動疲勞值增加2,第三次移動疲勞值增加3……舉個例子,小洪往右走了一步,再往左走了一步(回到初始位置),再往右走了一步,那麼他一共走了三步,那麼他的疲勞值為 1+2+3=6.

他們倆人會在某個整點相遇,請你幫他們計算,他們要相遇的最少的疲勞值之和。

Input
輸入有兩行,第一行1數字 a,代表小洪的初始位置
第二行一個數字b,代表他女朋友的初始位置
所有的數字範圍為 (1~1000)

Output
讓他們相遇的最少的疲勞值之和。

Sample Input
樣例輸入1:
3
4

樣例輸入2:
101
99

樣例輸入3:
5
10

Sample Output
樣例輸出1:
1

樣例輸出2:
2

樣例輸出3:
9

顯然你走一步我走一步是最優的,於是我們模擬這個過程就完事了。
先檢查一下輸入是不是左小右大,如果不是就交換一下,方便我們左走一下右走一下。

import java.util.Scanner;
  
public class Main {
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        int a, b, cnt = 0, step = 1;
        a = reader.nextInt();
        b = reader.nextInt();
        if (a > b) {
            int tmp = b;
            b = a;
            a = tmp;
        }
        for (int i = 1;a != b; i++) {
            cnt += step;
            if (i % 2 != 0) {
                ++a;
            } else {
                --b;
                ++step;
            }
        }
        System.out.println(cnt);
    }
}

Problem E: ROAL
Description
《osu!》是一款基於《押忍!戰鬥!應援團》、《精英節拍特工》和《太鼓達人》等商業遊戲改編的免費同人音樂遊戲,由Peppy (Dean Herbert)開發製作。小洪是osu狂熱愛好者。但是他今天想打鋤大地,在他的世界中。牌是沒有花色的。現在給你5張牌(1~13),要你判這五張牌能否組成順子,葫蘆,金剛
順子:五張牌是連續的,如1 2 3 4 5,5 6 7 8 9,9 10 11 12 13,10 11 12 13 1是順子,但是11 12 13 1 2和 12 13 1 2 3和13 1 2 3 4 不算順子。
葫蘆:三張帶一對。如,1 1 1 2 2,5 5 5 6 6,11 11 11 13 13.
金剛:四張帶一個。如1 1 1 1 2,13 13 13 13 1.

Input
輸入只有一行,每行5個數字,代表5張牌,數字的範圍為(1~13)題目保證數字出現的次數不會超過4次。

Output
如果是順子輸出“shunzi”
如果是葫蘆輸出“hulu”
如果是金剛輸出“jingang”
如果都不是輸出“lanpai”

Sample Input
樣例輸入1:
10 11 12 1 13

樣例輸入2:
5 5 5 5 4

樣例輸入3:
5 5 5 4 4

樣例輸入4:
11 12 13 1 2

Sample Output
樣例輸出1:
shunzi

樣例輸出2:
jingang

樣例輸出3:
hulu

樣例輸出4:
lanpai

我佛了,這題不用map這些庫類去寫純用if真的難寫。
為了讓諸位能看得懂,我就用if寫吧…
沒啥好說的這題,判斷就完事了。

但是要跟Java的同學說一聲抱歉,學校oj的java效能實在是太垃圾了,我這份程式碼也會超時,這樣寫是沒有問題的,唯一一位用Java過的同學使用了BufferedReader,希望沒過的同學去了解一下。

import java.util.Arrays;
import java.util.Scanner;
 
public class Main {
    static int[] in = new int[5];
    public static void main(String[] args) {
         Scanner reader = new Scanner(System.in);
         for (int i = 0; i < 5; i++) {
            in[i] = reader.nextInt();
        }
        Arrays.sort(in);
         
        if(in[0] == 1 && in[1] == 10 && in[2] == 11 && in[3] == 12 && in[4] == 13) {
            System.out.println("shunzi");
            return;
        }
         
        boolean flag = false;
        for (int i = 0; i < 4; i++) {
            if(in[i] + 1 != in[i + 1]) {
                flag = true;
                break;
            }
        }
         
        if(!flag) {
            System.out.println("shunzi");
            return;
        }
         
        if(in[0] == in[1] && in[1] == in[2]) {
            if(in[2] != in[3] && in[3] == in[4]) {
                System.out.println("hulu");
                return;
            }
            if(in[2] == in[3] && in[3] != in[4]) {
                System.out.println("jingang");
                return;
            }
        }
         
        if(in[4] == in[3] && in[3] == in[2]) {
            if(in[2] != in[1] && in[1] == in[0]) {
                System.out.println("hulu");
                return;
            }
            if(in[2] == in[1] && in[1] != in[0]) {
                System.out.println("jingang");
                return;
            }
        }
         
        System.out.println("lanpai");
    }
}

Problem F: OMG
Description
《中國式家長》是一款由墨魚玩遊戲開發的模擬養成遊戲,遊戲已經上架steam、wegame於2018年9月29日正式發售。
《中國式家長》是一款現實主義的模擬遊戲,遊戲模擬從出生到高考的整段過程,探討中國孩子與家長之間的關係。2018年10月,《中國式家長》的遊戲在網路上引發熱議。該遊戲銷售剛滿一個月,已經在一家知名遊戲商城上取得全球周銷量排行第2名。小洪是中國式家長的狂熱愛好者。今天他決定讓他的孩子小洲上清華!已知小洲高考的分數,請你計算一下他某幾科科目的分數和!我們假設在遊戲的世界中,高考科目有很多,然後小洪會讓你查詢某個區間的分數和。

Input
輸入有多行,第一行兩個數字N和Q,代表遊戲世界中有N個科目和小洪會問你Q個問題。第二行包括N個數字,由空格隔開,每個數字代表小洲一科的高考分數Ai。
接下來有Q行,每行包括兩個數字L和R,代表小洪要你告訴他這N個科目中,從第L個到第R個科目的分數的和
(1<=Ai<=100)
(1<=N<=100000)
(1<=Q<=100000)
(1<=L<=R<=N)

Output
對於每個查詢,輸出一個數字,代表該次查詢的分數和。每個數字佔一行。

Sample Input
樣例輸入1:
5 3
1 2 3 4 5
1 2
2 4
1 5

樣例輸入2:
5 5
100 99 98 1 2
1 1
2 2
4 5
1 5
3 5

Sample Output
樣例輸出1:
3
9
15

樣例輸出2:
100
99
3
300
101

這題很快樂的,現場有很多人來問我為什麼過不了。

(我樣例都過了交上去又是tle又是wa的怎麼回事啊.jpg)

看看題目的資料範圍,陣列長度十萬!查詢個數10萬!10萬個1到10萬的的累加不超時才怪。

有些精明的小朋友選擇了先求總數,然後根據查詢來決定是累加求和還是求出不需要求的部分再減掉,可喜可賀,讚賞這些小朋友!

但是如果我給你10萬個3萬到7萬的,那還是gg。

所以這題需要用到一個簡單的小演算法,字首和,字首和每個位置都是前面所有數跟自己的累加,在區間查詢的時候,只需要用r位置減去l - 1位置,即可瞬間求出。

這題沒有2018學號開頭的做出來,一年的差距2333

import java.util.Scanner;
 
public class Main {
    static int[] num = new int[100005];
 
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        int n = reader.nextInt();
        int q = reader.nextInt();
        for (int i = 1; i <= n; i++) {
            num[i] += reader.nextInt();
            num[i + 1] += num[i];
        }
        
        int l, r;
        while (q-- > 0) {
            l = reader.nextInt();
            r = reader.nextInt();
            System.out.println(num[r] - num[l - 1]);
        }
    }
}

Problem G: CRAWLING
Description
《太吾繪卷》是ConchShip Games研發的一款以神話和武俠為題材的獨立遊戲。玩家將扮演神祕的“太吾氏傳人”。
在《太吾繪卷》的世界中,你除了需要扮演神祕的“太吾氏傳人”,還將以不同的處世立場——或善、或惡、或中庸——投身於紛繁複雜的江湖之中。你不僅可以拜訪世界各地的武林門派,學習種類繁多的功法絕藝;還可以與人義結金蘭,或結下血海深仇;不僅可以興建自己的村莊,經營各種產業;還可以與自己的摯愛生兒育女,緣定三生;直到你終於面對太吾氏的宿敵,擊敗相樞劍冢,決定世界的命運!小洪是太吾繪卷的狂熱愛好者,同時他也很喜歡研究集合問題,最近他在研究邪惡集合,所謂邪惡集合,就是如果這個集合裡不存在的最小的非負整數是X,那麼這個集合就是邪惡的。現在小洪手裡有一個集合,他想把他變成邪惡集合,每一步小洪可以刪掉集合裡一個數,或者往集合裡新增新增一個數,請問小洪最少需要多少步,才能使得這個集合變成邪惡集合!

Input
輸入有兩行,第一行兩個數字 N,X,代表初始集合的大小 ,和題目中的X
第二行包括N個各不相同的數字,代表集合初始的N個數字
所有的數字範圍為 (1~10000)

Output
要把這個集合變成邪惡集合的最少步數

Sample Input
樣例輸入1:
5 3
0 4 5 6 7

樣例輸入2:
5 1
1 2 3 4 5

樣例輸入3:
1 0
0

Sample Output
樣例輸出1:
2

樣例輸出2:
2

樣例輸出3:
1

快樂的迴圈求最小非負,簡單題,沒過太可惜了。

import java.util.Scanner;
 
public class Main {
    static boolean[] vis = new boolean[205];
 
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        int n, x, g = 0, cnt = 0;
        n = reader.nextInt();
        x = reader.nextInt();
        for (int i = 0; i < n; i++) {
            vis[reader.nextInt()] = true;
        }
        while (g != x) {
            while (vis[g] && g < x) {
                ++g;
            }
            if (g != x) {
                ++cnt;
                ++g;
            }
        }
        if(vis[x]) {
            ++cnt;
        }
        System.out.println(cnt);
    }
}

Problem H: KINGDOM
Description
《王者榮耀》是由騰訊遊戲天美工作室群開發並執行的一款運營在Android、IOS、NS平臺上的MOBA類手機遊戲,於2015年11月26日在Android、IOS平臺上正式公測。小洪是王者榮耀的狂熱愛好者,但是他最近玩膩了,決定返璞歸真,摺紙飛機玩。他還邀請了他的ACM的小夥伴們一起玩耍。已知每張紙能夠折S個紙飛機,現在有K個小夥伴,每個小夥伴要折N個紙飛機。但是紙只能一包一包的買,已知每包紙有包含P張紙。現在要把紙分給每一個小夥伴,使得每個小夥伴都有足夠的紙去折屬於他的N個紙飛機,那麼請問,他們最少要買多少包紙?注意,紙是不能共享的喔~

Input
輸入只有一行,每行4個數字,用空格隔開,分別為 K,N,S,P,每個數字所代表的的意思見上述題面。
所有數字範圍為 (1~10000)

Output
一個數字,代表最少要買多少包紙。

Sample Input
樣例輸入1:
5 3 2 3

樣例輸入2:
5 3 100 1

Sample Output
樣例輸出1:
4

樣例輸出2:
5

小學數學啊,快樂就完事了。
ceil是向上取整。
聽說奇奇哥哥和鴻鴻哥哥出過這題作為作業,好吧,其實這題來自codeforce。

import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        int k, n, s, p;
        k = reader.nextInt();
        n = reader.nextInt();
        s = reader.nextInt();
        p = reader.nextInt();
        int cost = (int) Math.ceil(1.0 * n / s);
        int tot = cost * k;
        System.out.println((int)Math.ceil(1.0 * tot / p));
    }
}

Problem I: NECKLACE
Description
Codeforces是一家為計算機程式設計愛好者提供線上評測系統的俄羅斯網站。該網站由薩拉托夫國立大學的一個團體創立並負責運營。
小洪是Codeforces的狂熱愛好者,今天他決定打CF,今天CF的簽到題非常簡單,他決定讓你們來做~幸運的是,小洪已經幫你們翻譯好題目了。已知一個字串,讓你求這個字串的所有不同的非空子串的長度乘以該子串出現的次數的和。以下是具體解釋

子串:串中任意個連續的字元組成的子序列稱為該串的子串,比如有一個串 ababacab,以下串都是他的子串
ab(出現了三次),a(出現了四次),aba(出現了兩次),bab,ababcab(出現了一次)等
不同的子串:比如有一個串 ababcab,以下串都是他不同的子串
ab,a,aba,bab,ababcab,c等
子串的長度:即該子串的字元個數,如aba的長度為3,a的長度為1.

Input
輸入只有一行,包括一個只由小寫字母組成的字串
字串的長度為 (1~1000)

Output
這個字串的所有不同的非空子串的長度乘以該子串出現的次數的和

Sample Input
樣例輸入1:
a

樣例輸入2:
aba

樣例輸入3:
abab

Sample Output
樣例輸出1:
1

樣例輸出2:
10

樣例輸出3:
20

HINT
對於aba他的所有不同的子串有

a(出現了兩次)

b(出現了一次)

ab(出現了一次)

ba(出現了一次)

aba(出現了一次)

所以總的答案為 12+11+21+21+3*1 = 10

對於abab,他的所有不同的子串有

a(出現了兩次)

b(出現了兩次)

ab(出現了兩次)

ba(出現了一次)

aba(出現了一次)

bab(出現了一次)

abab(出現了一次)

所以答案為 12+12 +22+21+31+31+4*1 = 20

聰哥:題目要求的是,一個字串中,所有不同的子串出現的次數乘以他的長度的和。乍一看很難的樣子,實際上我們只需要稍作分析,就會發現其實是一個簡單題。我們把不同的子串出現的次數這個限制去掉,改成所有子串出現的次數乘以他的長度的和。那麼我們就會發現,每一個子串出現的次數都是1次。所以答案就會變成一個很簡單的公式了。我們假設原字串長度為N,那麼答案就是,長度為N的子串有一個,長度為N-2的子串有兩個,長度為N-3的子串有三個。。。然後直接計算出和即可。

哈哈哈哈哈但是我是用字尾自動機過的啊哈哈哈好快樂啊不要阻止我。

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		 Scanner reader = new Scanner(System.in);
		 String in = reader.next();
		 int sum = 0;
		 for (int i = 0; i < in.length(); i++) {
			sum += i * (in.length() - i + 1);
		}
		 System.out.println(sum);
	}
}

然後給你們感受一下字尾自動機的程式碼:

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1005;
char s[maxn];
 
struct Sam {
    int next[maxn << 1][26];
    int link[maxn << 1], step[maxn << 1];
    int endpos[maxn << 1];
    int a[maxn], b[maxn << 1];
    int sz, last, root;
 
    void init
            
           

相關推薦

GDUFS 2018資訊學院程式設計新手正式Java題解

Problem A: HELLO Description 《絕地求生》(PUBG) 是一款戰術競技型射擊類沙盒遊戲 。 該遊戲中,玩家需要在遊戲地圖上收集各種資源,並在不斷縮小的安全區域內對抗其他玩家,讓自己生存到最後。遊戲《絕地求生》除獲得G-STAR最高獎項總統獎以及其他五項大獎 ,

GDUFS 2017資訊學院程式設計新手熱身賽題解

Problem A: 小明的簡單任務 Description 小明是思科資訊學院的一名新同學,最近他剛開始學習程式設計。今天他遇到了一個問題:求n個數的和。你能幫他解決這個問題嗎? Input 輸入的第一行是一個整型數T(0<T<100),代表

2018CHD-ACM新生正式C.絕望のRevue

Description“Bonjour!”毒系寶可夢大師lwqqq撲上來了! BrotherZhi派出了傑尼龜! 毒系寶可夢大師lwqqq派出了slppp,slppp使用了麻麻電擊! 嘶————— 傑尼龜倒下了!GG!!!BrotherZhi再次輸掉了對戰,因為對手的slppp太強了!為了打敗霸佔鍵盤的slp

2018CHD-ACM新生正式D.刀塔大師lwq I

Description作為彩虹島的刀塔大師,lwq很擅長操作中單英雄卡爾。卡爾一共擁有10個技能。在卡爾的10個技能當 中,lwq最擅長的就是“幽靈漫步”。下面,lwq想就切技能的問題考考你: lwq共有QWE三種技能球。假設lwq現在的技能狀態是QQW,他每次操作可以彈出第一個球,並在最 後插入一個球。例如

晴人 2018CHD-ACM新生正式E.解救迷茫的草灘小王子

Description 彩虹島上一共會舉辦n場純粹的(CHD−FINAL)比賽,編號為從1∼n的正整數。小王子是一個狂熱又 純粹的ACMer,自然要參加每一場。 萬萬沒想到,比賽規則被邪惡的彩虹島副主席掌控了。副主席一共會修改n次比賽規則,第i 次修改規 則會導致編號為i的正整數倍的比賽性質發生反轉。(比賽

第七屆藍橋杯大賽個人賽省軟體組java語言B組---2.生日蠟燭

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

福建工程學院第七屆ACM程式設計新生 同步

A.關電腦 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long LL; 4 int T,h1,m1,s1,h2,m2,s2,t1,t2,ans; 5 int main()

長沙理工大學ACMore程式設計協會2018年新生重現

A 送氣球.jpg 連結:https://ac.nowcoder.com/acm/contest/318/A 來源:牛客網 題目描述 ACM-ICPC程式設計大賽是大學級別最高的腦力競賽,素來被冠以"程式設計的奧林匹克"的尊稱。大賽至今已有近40年的歷史,是世界範圍內歷史最悠久、規模最大

長沙理工大學ACMore程式設計協會2018年新生重現D-遠神的高精度

題目連結:https://ac.nowcoder.com/acm/contest/318/D 題目大意:遠神最近對高精度感興趣,給小萌新出了道簡單的除法題,a除b保留n位小數。但是越老和翔神覺得太簡單了,就多加了兩種操作。翔化,結果向下取整。越化,結果最後一位四捨五入。 import j

約會 福建工程學院第七屆ACM程式設計新生 同步

連結:https://ac.nowcoder.com/acm/contest/289/H 來源:牛客網   題解:看程式碼註釋 程式碼 #include <iostream> #include <cmath> using namespace std;

內心裡的一把火 福建工程學院第七屆ACM程式設計新生 同步

連結:https://ac.nowcoder.com/acm/contest/289/D 來源:牛客網   題解:簡單來看 可以用三個小三角形的面積之和與大三角形的面積作比較。 問題的關鍵式怎麼求三角形的面積,知道向量的叉乘求面積好處理一些,簡單來說 結論是這樣的: 已知三

EZ 2018 05 20 NOIP2018 模擬十五

html cst PE com space 相對 stdin 順序 處理 這次的比賽充滿著玄學的氣息 首先講一下為什麽沒有第十四場 其實今天早上9點時看到題目就叫了:原題! 沒錯,整套試卷都做過,我還寫了題解 然後老葉就說換一套,但如果僅僅是這樣就沒什麽 但等13min後結

2018.7.31 Noip2018模擬測試十六

sort 開始 char upd 思想 col 主席樹 ios 結果 日期: 七月最後一天 總分: 300分 難度: 提高 ~ 省選 得分: 30分(少的可憐) 我太弱了:(題目目錄) T1:Mushroom追妹紙 T

2018.8.6 Noip2018模擬測試十九

() strong 多少 sin 持久 省選 lin main noip 日期: 八月六號 總分: 300分 難度: 提高 ~ 省選 得分: 10分(MMP)

2018.11.25 AMC-ICPC 亞洲區域焦作站吊銀

11月23日 大清早,跟著wyb的腳步,早起跑過去聽方偉的編譯原理,然鵝一點都沒聽進去,在焦作胡辣湯群裡瘋狂灌水。。。 聽說焦作那邊冷得不行,前一天看天氣預報說那邊已經是2℃了,都快零下了,然鵝學校里正好都沒有厚的衣服。看隊友一個披著黑色大衣,另一個全身裹得嚴嚴實實,而我只有秋裝三件套,外套毛衣T恤衫,我

愛奇藝2018秋季校招演算法工程師第一場[程式設計題]括號匹配深度

時間限制:1秒 空間限制:32768K 來源:牛客網 一個合法的括號匹配序列有以下定義: 1、空串""是一個合法的括號匹配序列 2、如果"X"和"Y"都是合法的括號匹配序列,"XY"也是一個合法的括號匹配序列 3、如果"X"是一個合法的括號匹配序列,那麼"(X)"也是一個合法的括號匹配序列 4、

愛奇藝2018秋季校招演算法工程師第二場[程式設計題]幸運子序列

連結:https://www.nowcoder.com/questionTerminal/872919272a33406a9c5ddc8b2f7532f4 來源:牛客網 牛牛得到一個長度為n的整數序列V,牛牛定義一段連續子序列的幸運值為這段子序列中最大值和次大值的異或值(次大值是嚴格的次大

NOIP2018模擬 思維+DP2018 10 24 T2 停不下來的團長奧爾加CF407B

簡述題意: 一共n+1個房間,一個人從1走到n+1,如果第奇數次走到房間i,會退回到房間Pi,如果偶數次走到房間i,則走到房間i+1,問走到n+1需要多少步,結果對1e9+7取模。 演算法:思維+DP 難度:NOIP+ 題解:設dp[i]表示從1走到i需要多少步,那麼

2018ACM-ICPC國際大學生程式設計競賽亞洲區域青島站賽後總結

這是今年最後一次打鐵,我已經打了一年的鐵了。 還是想寫一個總結,不然,什麼都會沒留下。 實際上在去青島之前,我已經一個月都沒有嚴格地訓練自己了,從9月份CCPC秦皇島站打鐵之後,我就基本上開始懷疑自己了,熱情也沒有第一次打區域賽那麼高了,加上回來以後,學校ACM集訓

新手到系統管理員:Linux Shell指令碼程式設計之數學Part I

本文由 [茶話匯] – [Qing] 編譯自 [Avishek Kumar] 轉載請註明出處 這部分主要討論數學相關的shell指令碼程式設計。 加法運算 新建一個檔案“Addition.sh”,輸入下面的內容並賦予其可執行的許可權。 [code language=”bash”] #!/bin/b