2023年團體程序設計天梯賽——總決賽題

F-L1-1 最好的文檔

有一位軟件工程師說過一句很有道理的話:“Good code is its own best documentation.”(好代碼本身就是最好的文檔)。本題就請你直接在屏幕上輸出這句話。

輸入格式:

本題沒有輸入。

輸出格式:

在一行中輸出?Good code is its own best documentation.

輸入樣例:

輸出樣例:

Good code is its own best documentation.

?

#include<stdio.h>
int main(){printf("Good code is its own best documentation.\n");return 0;
}

F-L1-2 什么是機器學習

ml.jpg

什么是機器學習?上圖展示了一段面試官與“機器學習程序”的對話:

面試官:9 + 10 等于多少?
答:3
面試官:差遠了,是19。
答:16
面試官:錯了,是19。
答:18
面試官:不,是19。
答:19

本題就請你模仿這個“機器學習程序”的行為。

輸入格式:

輸入在一行中給出兩個整數,絕對值都不超過 100,中間用一個空格分開,分別表示面試官給出的兩個數字 A 和 B。

輸出格式:

要求你輸出 4 行,每行一個數字。第 1 行比正確結果少 16,第 2 行少 3,第 3 行少 1,最后一行才輸出 A+B 的正確結果。

輸入樣例:

9 10

輸出樣例:

3
16
18
19

?

#include<stdio.h>
int main (){int m,n ;scanf("%d %d",&m,&n);int sum = m+n;printf("%d\n",sum-16);printf("%d\n",sum-3);printf("%d\n",sum-1);printf("%d\n",sum);}

F-L1-3 程序員買包子

bao.jpg

這是一條檢測真正程序員的段子:假如你被家人要求下班順路買十只包子,如果看到賣西瓜的,買一只。那么你會在什么情況下只買一只包子回家?
本題要求你考慮這個段子的通用版:假如你被要求下班順路買?N?只包子,如果看到賣?X?的,買?M?只。那么如果你最后買了?K?只包子回家,說明你看到賣?X?的沒有呢?

輸入格式:

輸入在一行中順序給出題面中的?N、X、M、K,以空格分隔。其中?N、M?和?K?為不超過 1000 的正整數,X?是一個長度不超過 10 的、僅由小寫英文字母組成的字符串。題目保證?N=M。

輸出格式:

在一行中輸出結論,格式為:

  • 如果?K=N,輸出?mei you mai X de
  • 如果?K=M,輸出?kan dao le mai X de
  • 否則輸出?wang le zhao mai X de.
    其中?X?是輸入中給定的字符串?X。

輸入樣例 1:

10 xigua 1 10

輸出樣例 1:

mei you mai xigua de

輸入樣例 2:

10 huanggua 1 1

輸出樣例 2:

kan dao le mai huanggua de

輸入樣例 3:

10 shagua 1 250

輸出樣例 3:

wang le zhao mai shagua de

?

#include<stdio.h>
int main (){int N,M,K;char X[10] ;scanf("%d %s %d %d",&N,&X,&M,&K);if(N==K){printf("mei you mai %s de\n",X);}else if(K==M){printf("kan dao le mai %s de\n",X);}else{printf("wang le zhao mai %s de\n",X);}return 0;
}

F-L1-4 進化論

fig.jpg

在“一年一度喜劇大賽”上有一部作品《進化論》,講的是動物園兩只猩猩進化的故事。猩猩呂嚴說自己已經進化了 9 年了,因為“三年又三年”。猩猩土豆指出“三年又三年是六年吶”……
本題給定兩個數字,以及用這兩個數字計算的結果,要求你根據結果判斷,這是呂嚴算出來的,還是土豆算出來的。

輸入格式:

輸入第一行給出一個正整數?N,隨后?N?行,每行給出三個正整數?A、B?和?C。其中?C?不超過 10000,其他三個數字都不超過 100。

輸出格式:

對每一行給出的三個數,如果?C?是?A×B,就在一行中輸出?Lv Yan;如果是?A+B,就在一行中輸出?Tu Dou;如果都不是,就在一行中輸出?zhe du shi sha ya!

輸入樣例:

3
3 3 9
3 3 6
3 3 12

輸出樣例:

Lv Yan
Tu Dou
zhe du shi sha ya!

?

#include <stdio.h>
int main(){int i;int n;int a,b,c;scanf("%d",&n);for(i=0;i<n;++i){scanf("%d %d %d",&a,&b,&c);if(c==a*b){printf("Lv Yan\n");}else if(c==a+b){printf("Tu Dou\n");}else{printf("zhe du shi sha ya!\n");}   }return 0;
}

F-L1-5 猜帽子游戲

hats.png

寶寶們在一起玩一個猜帽子游戲。每人頭上被扣了一頂帽子,有的是黑色的,有的是黃色的。每個人可以看到別人頭上的帽子,但是看不到自己的。游戲開始后,每個人可以猜自己頭上的帽子是什么顏色,或者可以棄權不猜。如果沒有一個人猜錯、并且至少有一個人猜對了,那么所有的寶寶共同獲得一個大獎。如果所有人都不猜,或者只要有一個人猜錯了,所有寶寶就都沒有獎。
下面順序給出一排帽子的顏色,假設每一群寶寶來玩的時候,都是按照這個順序發帽子的。然后給出每一群寶寶們猜的結果,請你判斷他們能不能得大獎。

輸入格式:

輸入首先在一行中給出一個正整數?N(2<N≤100),是帽子的個數。第二行給出?N?頂帽子的顏色,數字?1?表示黑色,2?表示黃色。
再下面給出一個正整數?K(≤10),隨后?K?行,每行給出一群寶寶們猜的結果,除了仍然用數字?1?表示黑色、2?表示黃色之外,0?表示這個寶寶棄權不猜。
同一行中的數字用空格分隔。

輸出格式:

對于每一群玩游戲的寶寶,如果他們能獲得大獎,就在一行中輸出?Da Jiang!!!,否則輸出?Ai Ya

輸入樣例:

5
1 1 2 1 2
3
0 1 2 0 0
0 0 0 0 0
1 2 2 0 2

輸出樣例:

Da Jiang!!!
Ai Ya
Ai Ya

?

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5;
int f[N];
int n;
int main()
{cin>>n;for(int i = 1;i <= n;i++)cin>>f[i];int t;cin>>t;for(int j = 1;j <= t;j++){int cnt = 0;bool flag = true;for(int i = 1;i <= n;i++){int x;cin>>x;if(x == 0) continue;if(x == f[i]) cnt++;else flag = false;}if(flag&&cnt) cout<<"Da Jiang!!!";else cout<<"Ai Ya";if(t != j) cout<<endl;}return 0;
}

F-L1-6 剪切粘貼

使用計算機進行文本編輯時常見的功能是剪切功能(快捷鍵:Ctrl + X)。請實現一個簡單的具有剪切和粘貼功能的文本編輯工具。

工具需要完成一系列剪切后粘貼的操作,每次操作分為兩步:

  • 剪切:給定需操作的起始位置和結束位置,將當前字符串中起始位置到結束位置部分的字符串放入剪貼板中,并刪除當前字符串對應位置的內容。例如,當前字符串為?abcdefg,起始位置為 3,結束位置為 5,則剪貼操作后, 剪貼板內容為?cde,操作后字符串變為?abfg。字符串位置從 1 開始編號。
  • 粘貼:給定插入位置的前后字符串,尋找到插入位置,將剪貼板內容插入到位置中,并清除剪貼板內容。例如,對于上面操作后的結果,給定插入位置前為?bf,插入位置后為?g,則插入后變為?abfcdeg。如找不到應該插入的位置,則直接將插入位置設置為字符串最后,仍然完成插入操作。查找字符串時區分大小寫。

每次操作后的字符串即為新的當前字符串。在若干次操作后,請給出最后的編輯結果。

輸入格式:

輸入第一行是一個長度小于等于 200 的字符串?S,表示原始字符串。字符串只包含所有可見 ASCII 字符,不包含回車與空格。

第二行是一個正整數?N?(1≤N≤100),表示要進行的操作次數。

接下來的?N?行,每行是兩個數字和兩個長度不大于 5?的不包含空格的非空字符串,前兩個數字表示需要剪切的位置,后兩個字符串表示插入位置前和后的字符串,用一個空格隔開。如果有多個可插入的位置,選擇最靠近當前操作字符串開頭的一個。

剪切的位置保證總是合法的。

輸出格式:

輸出一行,表示操作后的字符串。

輸入樣例:

AcrosstheGreatWall,wecanreacheverycornerintheworld
5
10 18 ery cor
32 40 , we
1 6 tW all
14 18 rnerr eache
1 1 e r

輸出樣例:

he,allcornetrrwecaneacheveryGreatWintheworldAcross

?

#include<bits/stdc++.h>
using namespace std;
int n;
int main()
{string s;cin>>s>>n;for(int i = 1;i <= n;i++){int a,b;string s1,s2;cin>>a>>b>>s1>>s2;a -= 1; //保證下標從0開始b -= 1;//剪切string t = s.substr(a,b-a+1); //剪切出的字符串string sbe = s.substr(0,a); //t前面的字符串string saf = s.substr(b+1,s.size() - b - 1);//t后面的字符串s = sbe+saf; //剪切后的串//粘貼int len1 = s1.size();int len2 = s2.size();int st = -1;for(int j = 0;j + len1 - 1 < s.size();j++){//查找開頭與s1相同的串string temp = s.substr(j,len1);if(temp == s1){st = j;//存下標//查看是否以s2結尾string af = s.substr(st+len1,len2);if(af == s2){//粘貼操作string ss1 = s.substr(0,st+len1);string ss2 = s.substr(st+len1,s.size());s = ss1 + t + ss2;break;}else{st = -1;}}}//沒有滿足條件的粘貼位置,粘貼在最后if(st == -1)s = s + t;   }cout<<s;return 0;
}

F-L1-7 分寢室

學校新建了宿舍樓,共有?n?間寢室。等待分配的學生中,有女生?n0??位、男生?n1??位。所有待分配的學生都必須分到一間寢室。所有的寢室都要分出去,最后不能有寢室留空。
現請你寫程序完成寢室的自動分配。分配規則如下:

  • 男女生不能混住;
  • 不允許單人住一間寢室;
  • 對每種性別的學生,每間寢室入住的人數都必須相同;例如不能出現一部分寢室住 2 位女生,一部分寢室住 3 位女生的情況。但女生寢室都是 2 人一間,男生寢室都是 3 人一間,則是允許的;
  • 在有多種分配方案滿足前面三項要求的情況下,要求兩種性別每間寢室入住的人數差最小。

輸入格式:

輸入在一行中給出 3 個正整數?n0?、n1?、n,分別對應女生人數、男生人數、寢室數。數字間以空格分隔,均不超過?105。

輸出格式:

在一行中順序輸出女生和男生被分配的寢室數量,其間以 1 個空格分隔。行首尾不得有多余空格。
如果有解,題目保證解是唯一的。如果無解,則在一行中輸出?No Solution

輸入樣例 1:

24 60 10

輸出樣例 1:

4 6

注意:輸出的方案對應女生都是 24/4=6 人間、男生都是 60/6=10 人間,人數差為 4。滿足前三項要求的分配方案還有兩種,即女生 6 間(都是 4 人間)、男生 4 間(都是 15 人間);或女生 8 間(都是 3 人間)、男生 2 間(都是 30 人間)。但因為人數差都大于 4 而不被采用。

輸入樣例 2:

29 30 10

輸出樣例 2:

No Solution

?

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
int a,b;
int main()
{int n0,n1,n;cin>>n0>>n1>>n;int st = 1e9;for(int i = 1;i <= n-1;i++){if((n0 % i == 0) && (n1 %(n-i) == 0)){int x = n0/i,y = n1/(n-i);if(x == 1 || y == 1) continue;if(abs(x-y) < st){st = abs(x-y);a = i,b = n-i;}}}if(st != 1e9)cout<<a<<" "<<b;elsecout<<"No Solution";return 0;
}

F-L1-8 誰管誰叫爹

die.jpg

《咱倆誰管誰叫爹》是網上一首搞笑饒舌歌曲,來源于東北酒桌上的助興游戲。現在我們把這個游戲的難度拔高一點,多耗一些智商。
不妨設游戲中的兩個人為 A 和 B。游戲開始后,兩人同時報出兩個整數?NA??和?NB?。判斷誰是爹的標準如下:

  • 將兩個整數的各位數字分別相加,得到兩個和?SA??和?SB?。如果?NA??正好是?SB??的整數倍,則 A 是爹;如果?NB??正好是?SA??的整數倍,則 B 是爹;
  • 如果兩人同時滿足、或同時不滿足上述判定條件,則原始數字大的那個是爹。
    本題就請你寫一個自動裁判程序,判定誰是爹。

輸入格式:

輸入第一行給出一個正整數?N(≤100),為游戲的次數。以下?N?行,每行給出一對不超過 9 位數的正整數,對應 A 和 B 給出的原始數字。題目保證兩個數字不相等。

輸出格式:

對每一輪游戲,在一行中給出贏得“爹”稱號的玩家(A?或?B)。

輸入樣例:

4
999999999 891
78250 3859
267537 52654299
6666 120

輸出樣例:

B
A
B
A

?

#include <stdio.h>
int main (){int n;scanf("%d",&n);for(int i = 0; i< n;++i){long long a,b;int sa = 0, sb = 0;scanf("%lld %lld",&a,&b);//int c = a;//int d = b;while(a){sa += a%10;a /=10;}while(b){sb+=b%10;b /=10;}if(a%sb==0 && b%sa!=0){printf("A\n");}else if(b%sa==0 && a%sb !=0){printf("B\n");}else {a>b?printf("A\n"):printf("B\n");}}//getchar();return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/214687.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/214687.shtml
英文地址,請注明出處:http://en.pswp.cn/news/214687.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

讀excel文件,借助openpyxl工具

讀excel文件&#xff0c;借助openpyxl工具 import osimport requestsos.environ["http_proxy"] "http://127.0.0.1:7890" os.environ["https_proxy"] "http://127.0.0.1:7890"base_url "https://testnet.starscan.io/explore…

ALNS4VRPTWTF

文章概述 文章研究了城市物流背景下帶有第三方轉運設施的車輛路徑問題。與經典的車輛路徑問題不同&#xff0c;這些問題提供了將客戶需求交付給第三方轉運設施&#xff08;如城市集散中心&#xff09;的選擇&#xff0c;并收取一定的費用。為了解決這些挑戰&#xff0c;該研究…

LeetCode 279完全平方數 139單詞拆分 卡碼網 56攜帶礦石資源(多重背包) | 代碼隨想錄25期訓練營day45

動態規劃算法6 LeetCode 279 完全平方數 2023.12.11 題目鏈接代碼隨想錄講解[鏈接] int numSquares(int n) {//1確定dp數組&#xff0c;其下標表示j的完全平方數的最少數量//3初始化&#xff0c;將dp[0]初始化為0&#xff0c;用于計算&#xff0c;其他值設為INT_MAX用于遞推…

物料分類帳概覽

原文地址&#xff1a;Overview: What is SAP Material Ledger? | SAP Blogs 物料分類賬是收集物料主數據存儲在物料主數據中的物料交易數據的工具。 物料分類帳使用此數據來計算價格以評估這些物料。 物料臺賬是實際成本核算的基礎。它允許以多種貨幣對材料庫存進行評估&am…

對象的生離死別

對象的生離死別 實驗介紹 在構建一個類時&#xff0c;一般情況下需要編寫構造函數、拷貝構造函數以及析構函數&#xff0c;這將直接影響程序的運行。而初始化列表是在調用構造函數時初始化參數的方式。 一個對象從實例化到銷毀的歷程&#xff1a; 知識點 內存分區構造函數exp…

java中什么是Spring Bean?

在Spring框架中&#xff0c;一個"Bean"是指由Spring IoC容器所管理的對象。這個對象可以是Java類的實例&#xff0c;也可以是引用其他對象的引用、集合或者是簡單類型。Spring Bean是應用中由IoC容器負責創建、裝配和管理的對象。 Spring中的Bean具有以下特征&#…

地牢手冊-3d

Description 你進入了一個3D的寶藏地宮中探尋到了寶藏&#xff0c;你可以找到走出地宮的路帶出寶藏&#xff0c;或者使用爐石空手回家。 地宮由立方體單位構成&#xff0c;立方體中不定會充滿巖石。向上、下、前、后、左、右移動一個單位需要一分鐘。你不能對角線移動并且地宮…

LabVIEW開發礦井排水監控系統

LabVIEW開發礦井排水監控系統 針對礦井水害對煤礦安全生產構成的威脅&#xff0c;設計了一種基于嵌入式PLC和LabVIEW的礦井排水監控系統。該系統結合了PLC的可靠控制與單片機的應用靈活性&#xff0c;有效克服了傳統排水方法中的不足&#xff0c;如測量不準確、效率低下等問題…

react相關hooks(二)

不寫性能優化的時候 const Child (props) > {console.log(child function is recalled)// count1改變時多次執行return (<div><h1>{ props.count2}</h1></div>) } function app () {const [count1.setCount1] useState(0)const [count2.setCount…

ESP8266模塊(CH340)零基礎實戰

USB數據線連接ESP8266模塊到電腦 先按住FLASH鍵,再按一下RST鍵,然后松開 此時電腦可識別出CH340 COM接口 CH340芯片廠商網址: wch.cn 傳輸比特率9600 win11自帶驅動 下載Arduino IDE

一文了解什么是Selenium自動化測試?

一、Selenium是什么&#xff1f; 用官網的一句話來講&#xff1a;Selenium automates browsers. Thats it&#xff01;簡單來講&#xff0c;Selenium是一個用于Web應用程序自動化測試工具。Selenium測試直接運行在瀏覽器中&#xff0c;就像真正的用戶在操作瀏覽器一樣。支持的瀏…

【美賽指南】新手小白必備參賽指南

美賽指南 一、2024美賽安排二、題目類型三、選題建議四、美賽前期準備五、常用算法 一、2024美賽安排 報名截至時間&#xff1a;2024年 2月2日 00&#xff1a;00 比賽時間&#xff1a;2024年 2月2日 6&#xff1a;00- 2月6日 9&#xff1a;00 提交截至日期&#xff1a;2024年2…

嵌入式系統復習--概述

文章目錄 基本概念嵌入式系統的組成結構嵌入式操作系統嵌入式軟件開發環境硬件基礎簡介下一篇 基本概念 嵌入式計算機&#xff1a;把嵌入到對象體系中、實現對象體系智能化控制的帶有微控制器的計算機&#xff0c;稱作嵌入式計算機 嵌入式系統&#xff1a;以應用為中心&#…

harmonyOS學習筆記之@Provide裝飾器和@Consume裝飾器

Provide和Consume&#xff0c;應用于與后代組件的雙向數據同步&#xff0c;應用于狀態數據在多個層級之間傳遞的場景。不同于State/Link裝飾器修飾的 父子組件之間通過命名參數機制傳遞&#xff0c;Provide和Consume擺脫參數傳遞機制的束縛&#xff0c;實現跨層級傳遞。 其中Pr…

基于Java的招聘系統的設計與實現

末尾獲取源碼 開發語言&#xff1a;Java Java開發工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 數據庫&#xff1a;MySQL5.7和Navicat管理工具結合 服務器&#xff1a;Tomcat8.5 開發軟件&#xff1a;IDEA / Eclipse 是否Maven項目&#xff1a;是 目錄…

OWASP Web 安全測試指南 WSTG

Eoin Keary的前言 軟件不安全的問題可能是我們這個時代最重要的技術挑戰。支持業務、社交網絡等的 Web 應用程序的急劇興起只會加劇建立一種強大的方法來編寫和保護我們的 Internet、Web 應用程序和數據的要求。 在開放 Web 應用程序安全項目 &#xff08;OWASP&#xff09; 中…

HarmonyOS應用開發-手寫板

這是一個基于HarmonyOS做的一個手寫板應用&#xff0c;只需要簡單的幾十行代碼&#xff0c;就可以實現如下手寫功能以及清空畫布功能。 一、先上效果圖&#xff1a; 二、上代碼 Entry Component struct Index {//手寫路徑State pathCommands: string ;build() {Column() {//…

4-二分-索引二分-搜索旋轉排序數組 II

這是索引二分的第四篇算法&#xff0c;力扣鏈接 已知存在一個按非降序排列的整數數組 nums &#xff0c;數組中的值不必互不相同。 在傳遞給函數之前&#xff0c;nums 在預先未知的某個下標 k&#xff08;0 < k < nums.length&#xff09;上進行了 旋轉 &#xff0c;使數…

RocketMQ-源碼架構

源碼環境搭建 1、主要功能模塊 RocketMQ官方Git倉庫地址&#xff1a;GitHub - apache/rocketmq: Apache RocketMQ is a cloud native messaging and streaming platform, making it simple to build event-driven applications. RocketMQ的官方網站下載&#xff1a;下載 | R…

現在多種數據庫的讀寫模型對比

目錄 mongDB read write ES read write MySql write 總結 mongDB 3.0 版本后的WiredTiger存儲引擎 read 1. 應用通過driver 發起Buffer I/O讀操作&#xff0c;由操作系統將磁盤數據頁加載到文件系統的頁緩存區 2. 引擎層讀取頁緩沖區的數據&#xff0c;進行解壓后放…