2024/2/22

P8680 [藍橋杯 2019 省 B] 特別數的和

題目描述

小明對數位中含有?2、0、1、9?的數字很感興趣(不包括前導?00),在?1?到 40?中這樣的數包括?1、2、9、10?至 32、39?和 40,共28?個,他們的和是574。

請問,在?1?到?n?中,所有這樣的數的和是多少?

輸入格式

輸入一行包含一個整數?�n。

輸出格式

輸出一行,包含一個整數,表示滿足條件的數的和。

將輸入的數按照不同的位數進行分類,然后將他們的每一項數位提取出來進行判斷

如果符合條件則累加

#include<bits/stdc++.h>
using namespace std;
int a[6];
int main()
{int sum=0;int n;cin>>n;for(int i=1;i<=n;i++){a[1]=i%10;//個位a[2]=i/10%10;//十位a[3]=i/100%10;//百位a[4]=i/1000%10;//千位a[5]=i/10000%10;//萬位if(i<10){if(i==2||i==1||i==9){sum+=i;}}if(i>=10&&i<100){for(int j=1;j<3;j++){if(a[j]==2||a[j]==1||a[j]==9||a[j]==0){sum+=i;break;}}}if(i>=100&&i<1000){for(int j=1;j<4;j++){if(a[j]==2||a[j]==1||a[j]==9||a[j]==0){sum+=i;break;}}}if(i>=1000&&i<10000){for(int j=1;j<5;j++){if(a[j]==2||a[j]==1||a[j]==9||a[j]==0){sum+=i;break;}}}}cout<<sum;return 0;
}

L-shapes

題目描述

An L-shape is a figure on gridded paper that looks like the first four pictures below. An L-shape contains exactly three shaded cells (denoted by *), which can be rotated in any way.

You are given a rectangular grid. Determine if it contains L-shapes only, where L-shapes can't touch an edge or corner. More formally:

  • Each shaded cell in the grid is part of exactly one L-shape, and
  • no two L-shapes are adjacent by edge or corner.

For example, the last two grids in the picture above do not satisfy the condition because the two L-shapes touch by corner and edge, respectively.

輸入格式

The input consists of multiple test cases. The first line contains an integer?t(1≤t≤100?) — the number of test cases. The description of the test cases follows.

The first line of each test case contains two integers?n?and?m?( 1≤n,m≤50?) — the number of rows and columns in the grid, respectively.

Then?n?lines follow, each containing?m?characters. Each of these characters is either '.' or '*' — an empty cell or a shaded cell, respectively.

輸出格式

For each test case, output "YES" if the grid is made up of L-shape that don't share edges or corners, and "NO" otherwise.

You can output the answer in any case (for example, the strings "yEs", "yes", "Yes" and "YES" will be recognized as a positive answer).

題意翻譯

L形在網格紙上形如下面的前四張圖片。L形正好包含三個陰影單元(用*表示),可以以任何方式旋轉。

現給你一個矩形網格。確定它是否僅包含L形,其中L形不能接觸邊或角,也就是說網格中的每個陰影單元正好是一個L形的一部分,并且沒有兩個L形通過邊或角相鄰。

例如,上圖中的最后兩個網格不滿足條件,因為兩個L形分別通過角和邊緣接觸。

如果網格滿足條件,則輸出“YES”,否則輸出“NO”。

遍歷,當掃到*的時候,將其標記為1,遍歷到1時對周圍進行掃描,符合條件則將L型都變為0

最后再掃描時如果還掃到1則輸出NO,否則輸出YES

#include<bits/stdc++.h>
using namespace std;
int a[55][55],n,m,t;
char s;
void find(int i,int j)
{if(a[i+1][j]&&a[i+1][j+1]&&!a[i-1][j-1]&&!a[i-1][j]&&!a[i-1][j+1]&&!a[i][j-1]&&!a[i][j+1]&&!a[i][j+2]&&!a[i+1][j-1]&&!a[i+1][j+2]&&!a[i+2][j-1]&&!a[i+2][j]&&!a[i+2][j+1]&&!a[i+2][j+2]){a[i][j]=a[i+1][j]=a[i+1][j+1]=0;return ;}if(a[i+1][j-1]&&a[i+1][j]&&!a[i-1][j-1]&&!a[i-1][j]&&!a[i-1][j+1]&&!a[i][j-2]&&!a[i][j-1]&&!a[i][j+1]&&!a[i+1][j-2]&&!a[i+1][j+1]&&!a[i+2][j-2]&&!a[i+2][j-1]&&!a[i+2][j]&&!a[i+2][j+1]){a[i][j]=a[i+1][j-1]=a[i+1][j]=0;return ;}if(a[i][j+1]&&a[i+1][j+1]&&!a[i-1][j-1]&&!a[i-1][j]&&!a[i-1][j+1]&&!a[i-1][j+2]&&!a[i][j-1]&&!a[i][j+2]&&!a[i+1][j-1]&&!a[i+1][j]&&!a[i+1][j+2]&&!a[i+2][j]&&!a[i+2][j+1]&&!a[i+2][j+2]){a[i][j]=a[i][j+1]=a[i+1][j+1]=0;return ;}if(a[i][j+1]&&a[i+1][j]&&!a[i-1][j-1]&&!a[i-1][j]&&!a[i-1][j+1]&&!a[i-1][j+2]&&!a[i][j-1]&&!a[i][j+2]&&!a[i+1][j-1]&&!a[i+1][j+1]&&!a[i+1][j+2]&&!a[i+2][j-1]&&!a[i+2][j]&&!a[i+2][j+1]){a[i][j]=a[i][j+1]=a[i+1][j]=0;return ;}
}
int main()
{cin>>t;for(int k=1;k<=t;k++){memset(a,0,sizeof(a));bool possible = true;cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>s;if(s=='*')a[i][j]=1;}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(a[i][j]==1)find(i,j);}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(a[i][j]==1){possible=false;break ;}}if (!possible) break;}if (possible) {cout << "YES\n";} else {cout << "NO\n";}}return 0;
}

P1258 小車問題

題目描述

甲、乙兩人同時從 A 地出發要盡快同時趕到 B 地。出發時 A 地有一輛小車,可是這輛小車除了駕駛員外只能帶一人。已知甲、乙兩人的步行速度一樣,且小于車的速度。問:怎樣利用小車才能使兩人盡快同時到達。

輸入格式

僅一行,三個實數,分別表示 AB 兩地的距離?s,人的步行速度?a,車的速度?b。

輸出格式

兩人同時到達 B 地需要的最短時間,保留?6?位小數。

列方程x/a=(s-2x+s-x)/b

解得時間=x/a+(s-x)/b

#include<bits/stdc++.h>
using namespace std;
int main()
{double a,b,s,x;cin>>s>>a>>b;double t;x=(2*a*s)/(3*a+b);t=x/a+(s-x)/b;cout<<fixed<<setprecision(6)<<t;
}

P10050 [CCO2022] Alternating Heights

題目描述

Troy 計劃給 CCO 的學生拍一張合影,他向你尋求幫助。

有?K?個學生,編號從?1?到?K。Troy 忘記了學生的身高,但他記得沒有兩個學生的身高相同。

Troy 有一個序列?1,2,…,A1?,A2?,…,AN?,表示合影中從左到右的學生順序。一個學生可能在?A?中出現多次。你不確定這張合影會怎么拍,但你不愿意認為 Troy 犯了錯誤。

Troy 會給你?Q?個形式為 x,y?的詢問,每個詢問為「給定學生序列 Ax?,Ax+1?,…,Ay?,他們的身高能否形成一個交替序列?」更具體地說,我們用?hi??表示第 i?個學生的身高。如果存在一種身高分配h1?,h2?,…,hK?,使得 hAx??>hAx+1??<hAx+2??>hAx+3??<…hAy??,回答?YES;否則回答?NO

注意,每個查詢都是獨立的:也就是說,詢問?i?的身高分配與詢問?j?的身高分配無關(i!=j)。

輸入格式

第一行包含三個用空格分隔的整數?N,K?和?Q。

第二行包含?N?個整數,表示?1,2,…)A1?,A2?,…,AN?(1≤Ai?≤K)。

接下來的?Q?行,每行包含兩個用空格分隔的整數?x?和?(1≤x<y≤N),表示一組查詢。

輸出格式

輸出?Q?行。第 i?行,輸出?YES?或者?NO,表示 Troy 的第?i?個查詢的答案。

每次進行二分查找,將中間值和左端點進行拓撲排序

如果出現環則說明矛盾,輸出NO

#include<bits/stdc++.h>
using namespace std;
int n,m,t,x,y,a[10005],f[10005];
int d[3005][3005],top[3005],in[3005];
queue<int> q;
bool check(int l,int r)
{memset(in,0,sizeof(in));memset(top,0,sizeof(top));for(int i=l+1;i<=r;i+=2){if(i-1>0) d[a[i]][++top[a[i]]]=a[i-1],in[a[i-1]]++;if(i+1<=r) d[a[i]][++top[a[i]]]=a[i+1],in[a[i+1]]++;}while(!q.empty()) q.pop();for(int i=1;i<=m;i++){if(!in[i]){q.push(i);}}int sum=0;while(!q.empty()){int p=q.front();q.pop();sum++;for(int i=1;i<=top[p];i++){in[d[p][i]]--;if(!in[d[p][i]])q.push(d[p][i]);}}return sum==m;
}
int F(int k)
{int l=k,r=n,mid,p=0;while(l<=r){mid=(l+r)/2;if(check(k,mid))p=max(p,mid),l=mid+1;elser=mid-1;}return p;
}
int main()
{cin>>n>>m>>t;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n;i++)f[i]=F(i);for(int i=1;i<=t;i++){cin>>x>>y;if(y<=f[x]){cout<<"YES"<<endl;}else{cout<<"NO"<<endl;}}return 0;
}

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

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

相關文章

【2024軟件測試面試必會技能】

Unittest(5)&#xff1a;unittest_忽略用例 忽略用例 在執行測試腳本的時候&#xff0c;可能會有某幾條用例本次不想執行&#xff0c;但又不想刪也 不想注釋&#xff0c;unittest通過忽略部分測試用例不執行的方式&#xff0c;分無條件忽略和有條 件忽略,通過裝飾器實現所描述…

Vue3+vite搭建基礎架構(11)--- 菜單欄功能和Tab頁功能實現

Vue3vite搭建基礎架構&#xff08;11&#xff09;--- 菜單欄功能和Tab頁功能實現 說明刪除項目中不需要的文件userStore全局屬性代碼菜單欄代碼Tab頁代碼解決瀏覽器輸入地址時不會打開tab頁問題和切換tab頁時參數丟失問題 說明 這里記錄下自己在Vue3vite的項目使用less來寫樣式…

低代碼開發——企業轉型的萬金油

在數字化時代&#xff0c;企業面臨著日新月異的市場環境和激烈的競爭壓力。為了在這場變革中脫穎而出&#xff0c;企業需要不斷優化業務流程、提升創新能力&#xff0c;以及實現敏捷響應。在這個過程中&#xff0c;低代碼開發作為一種創新性的技術手段&#xff0c;正成為企業轉…

統信UOS_麒麟KYLINOS上監控網絡:探索Smokeping的強大功能

原文鏈接&#xff1a;統信UOS|麒麟KYLINOS上監控網絡&#xff1a;探索Smokeping的強大功能 在當今的網絡環境中&#xff0c;無論是個人用戶還是企業用戶&#xff0c;都非常重視網絡的穩定性和連通性。特別是在進行遠程工作、在線會議、云計算等活動時&#xff0c;網絡質量直接影…

程序員必備技能----刪庫跑路大總結

刪庫跑路大總結&#xff0c;各個都是大殺器&#xff0c;破壞性太大&#xff0c;輕易不要嘗試。 刪除linux根目錄&#xff0c;用戶目錄&#xff0c;其實還可以增加一個刪除/etc。刪除&#xff08;清除&#xff09;數據庫。刪除redis緩存和持久化文件。刪除mongodb庫。git push …

說一說Eclipse的項目類型和常用項目的區別

Eclipse在新建項目的時候有很多類型&#xff0c;包括Java project、Web project等等&#xff0c;如下&#xff1a; 那么這些項目類型有什么區別呢&#xff1f;我們在創建項目的時候應該如何選擇&#xff0c;了解清楚這一點還是非常重要的&#xff0c;但記住一個出發點&#xff…

2.22 day3、4 QT

完善對話框&#xff0c;點擊登錄對話框&#xff0c;如果賬號和密碼匹配&#xff0c;則彈出信息對話框&#xff0c;給出提示"登錄成功”&#xff0c;提供一個Ok按鈕&#xff0c;用戶點擊Ok后&#xff0c;關閉登錄界面&#xff0c;跳轉到其他界面 如果賬號和密碼不匹配&…

讀書筆記:《看電影學金融》

大空頭 禁止做空可以延緩資產價格下降的過程&#xff0c;但是人為保護的高股價最終還是不能持續的。做空引入的空頭買家&#xff0c;可以增加市場的流動性。住房價格指數期貨使房地產的投資屬性與住宅屬性分離&#xff0c;降低因炒房而空置的房屋&#xff0c;降低房價。收益互…

【論文解讀】Uncertainty Quantification of Collaborative Detection for Self-Driving

Uncertainty Quantification of Collaborative Detection for Self-Driving 摘要引言方法問題定義方法概覽Double-M 實驗結論 摘要 在聯網和自動駕駛汽車(CAVs)之間共享信息從根本上提高了自動駕駛協同目標檢測的性能。然而&#xff0c;由于實際挑戰&#xff0c;CAV 在目標檢測…

十九、圖像的放縮和插值

項目功能實現&#xff1a;對一張圖像進行放大和縮小操作 按照之前的博文結構來&#xff0c;這里就不在贅述了 一、頭文件 resizing.h #pragma once#include<opencv2/opencv.hpp>using namespace cv;class RESIZING { public:void resizing(Mat& image); };#pragma…

深度解析:用 Python 爬蟲逆向破解 dappradar 的請求頭加密 X-Api-Sk

大家好!我是愛摸魚的小鴻,關注我,收看每期的編程干貨。 逆向是爬蟲工程師進階必備技能,當我們遇到一個問題時可能會有多種解決途徑,而如何做出最高效的抉擇又需要經驗的積累。本期文章將以實戰的方式,帶你詳細地逆向分析 dappradar 網站請求頭加密字段 X-Api-SK 的構造邏…

解決Edge瀏覽器,微博無法查看大圖(Edge Image Viewer)

使用Edge瀏覽器瀏覽微博或其它帶校驗的圖片時&#xff0c;會導致無法查看。 主要原因為Edge自帶了一個Edge Image Viewer, 但是該圖片查看器無法查看帶校驗數據的圖片&#xff0c;所以導致查看時一片空白。 解決方法 地址欄輸入 edge://flags/搜索 Edge Image Viewer選擇 Disa…

HTML5 Canvas 限定文本區域大小,文字自動換行,自動縮放

<!DOCTYPE html> <html> <body><h1>HTML5 Canvas 限定文本展示范圍、自動計算縮放字體大小</h1><div id"tips">0</div> <div id"content">良田千頃不過一日三餐廣廈萬間只睡臥榻三尺良田千頃不過一日三餐…

【Day53】代碼隨想錄之動態規劃_買賣股票ⅠⅡ

文章目錄 動態規劃理論基礎動規五部曲&#xff1a;出現結果不正確&#xff1a; 1. 買賣股票的最佳時機2. 買賣股票的最佳時機Ⅱ 動態規劃理論基礎 動規五部曲&#xff1a; 確定dp數組 下標及dp[i] 的含義。遞推公式&#xff1a;比如斐波那契數列 dp[i] dp[i-1] dp[i-2]。初…

學習git分支

學習git分支 [網頁練習](Learn Git Branching) 基礎篇 git commit Git 倉庫中的提交記錄保存的是你的目錄下所有文件的快照&#xff0c;就像是把整個目錄復制&#xff0c;然后再粘貼一樣&#xff0c;但比復制粘貼優雅許多&#xff01;Git 希望提交記錄盡可能地輕量&#xf…

【GStreamer】GstElement詳解:GStreamer 中最重要的對象

1、什么是元素GstElement? 每個解碼器、編碼器、解復用器、視頻或音頻輸出實際上都是一個GstElement。GstElement可以視為一個黑盒子:例如,對于解碼器元素,輸入為已編碼數據,輸出為解碼后的數據,解碼過程已由GstElement封裝好。 2、都有哪些元素GstElement? 2.1 源點…

概率基礎——幾何分布

概率基礎——幾何分布 介紹 在統計學中&#xff0c;幾何分布是描述了在一系列獨立同分布的伯努利試驗中&#xff0c;第一次成功所需的試驗次數的概率分布。在連續拋擲硬幣的試驗中&#xff0c;每次拋擲結果為正面向上的概率為 p p p&#xff0c;反面向上的概率為 1 ? p 1-p …

ZCC3221 輸入高耐壓 1A 線性鋰電池充電管理芯片(替代CE3221)

特性 :W 內置支持高壓輸入電流可調節的線性充電器&#xff1a; ■ 最高輸入 24V 耐壓&#xff0c;可承受高達 30V 的浪涌電壓 ■ 恒流下最大充電電流可達 1A&#xff0c;支持外部電阻實時配置充電電流 ■ 兼容 5VUSB 功率源和 AC 適配器&#xff0c;并提供熱插拔保護 ■…

GB/T 43565-2023 中小學合成材料面層籃球場地檢測

合成材料面層是指鋪裝在瀝青混凝土或水泥混凝土等基礎層上的高分子合成材料層&#xff0c;按照使用功能分為田徑產地&#xff0c;球類場地和其他活動場地&#xff0c;按照材料形態分為現澆型面層、預制型面層和人造草面層。 GB/T 43565-2023中小學合成材料面層籃球場地檢測項目…

python 驗證RSA密鑰生成加解密簽名驗簽算法實現

目錄 一、RSA加密、解密、簽名、驗簽(驗證簽名)&RSA算法原理 1、RSA加密、簽名區別: 2、對簽名和驗簽過程詳細理解: 2.1 簽名過程: 2.2 驗簽過程: 二、1024bit RSA Key生成 三、python 實現Public_key加密,Private_key解密 四、python 實現Private_Key簽名,使…