Codeforces Beta Round 32 (Div. 2, Codeforces format) D. Constellation 題解 枚舉

Constellation

題目描述

A star map in Berland is a checked field n × m n×m n×m squares. In each square there is or there is not a star. The favorite constellation of all Berland’s astronomers is the constellation of the Cross. This constellation can be formed by any 5 stars so, that for some integer x x x (radius of the constellation) the following is true:

  • the 2nd is on the same vertical line as the 1st, but x x x squares up
  • the 3rd is on the same vertical line as the 1st, but x x x squares down
  • the 4th is on the same horizontal line as the 1st, but x x x squares left
  • the 5th is on the same horizontal line as the 1st, but x x x squares right

Such constellations can be very numerous, that’s why they are numbered with integers from 1 on the following principle: when two constellations are compared, the one with a smaller radius gets a smaller index; if their radii are equal — the one, whose central star if higher than the central star of the other one; if their central stars are at the same level — the one, whose central star is to the left of the central star of the other one.

Your task is to find the constellation with index k k k by the given Berland’s star map.

輸入格式

The first line contains three integers n n n , m m m and k k k ( 1 < = n , m < = 300 , 1 < = k < = 3 × 1 0 7 1<=n,m<=300,1<=k<=3×10^{7} 1<=n,m<=300,1<=k<=3×107 ) — height and width of the map and index of the required constellation respectively. The upper-left corner has coordinates ( 1 , 1 ) (1,1) (1,1) , and the lower-right — ( n , m ) (n,m) (n,m) . Then there follow n n n lines, m m m characters each — description of the map. j j j -th character in i i i -th line is “*”, if there is a star in the corresponding square, and “.” if this square is empty.

輸出格式

If the number of the constellations is less than k k k , output -1. Otherwise output 5 lines, two integers each — coordinates of the required constellation. Output the stars in the following order: central, upper, lower, left, right.

題面翻譯

題目描述

一個Berland星空圖填充了一個 N × M N×M N×M 的矩形。Berland的十字星座是所有的天文學家最喜歡的星座。這個星座由 5 5 5 個星星組成。對于星座的半徑 x x x 5 5 5 個星星的位置關系有以下原則:

第二個和第一個在同一條垂直線上,但是在第一個的上邊 x x x 單位處。

第三個和第一個在同一條垂直線上,但是在第一個的下邊 x x x 單位處。

第四個和第一個在同一水平線上,但是在第一個的左邊 x x x 單位處。

第五個和第一個在同一水平線上,但是在第一個的右邊 x x x 單位處。

對于星座的索引:更小的半徑會有更小的索引。如果它們的半徑相等,位于更上邊更左邊的中心恒星所在的十字星座索引更小。

你的任務是找到索引為 K K K 的星座的Berland星空圖。

輸入格式

第一行包含三個整數 N , M N,M N,M K K K( 1 ≤ N , M ≤ 300 , 1 ≤ K ≤ 3 × 1 0 7 1 ≤ N,M ≤ 300,1 ≤ K ≤ 3×10^7 1N,M3001K3×107),分別為地圖的高,寬和所求星座的索引。下面輸入 N N N 行, M M M 列的字符來描述星空圖。左上角坐標為 ( 1 , 1 ) (1,1) (1,1),右下角坐標為 ( N , M ) (N,M) (N,M)

輸出格式

如果星座索引小于 k k k,輸出 ? 1 -1 ?1。否則輸出 5 5 5 行,每行分別兩個整數,即星座的每一個星星的坐標。按照中心、上、下、左、右的順序輸出星星。

樣例 #1

樣例輸入 #1

5 6 1
....*.
...***
....*.
..*...
.***..

樣例輸出 #1

2 5
1 5
3 5
2 4
2 6

樣例 #2

樣例輸入 #2

5 6 2
....*.
...***
....*.
..*...
.***..

樣例輸出 #2

-1

樣例 #3

樣例輸入 #3

7 7 2
...*...
.......
...*...
*.***.*
...*...
.......
...*...

樣例輸出 #3

4 4
1 4
7 4
4 1
4 7

原題

Codeforces——傳送門
洛谷——傳送門

代碼

#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
typedef long long ll;int main()
{ios::sync_with_stdio(0);cin.tie(0);int n, m, k;cin >> n >> m >> k;vector<vector<char>> g(n + 1, vector<char>(m + 1, 0)); // 存圖for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){cin >> g[i][j];}}int cnt = 0;                                             // 當前十字星座個數for (int r = 1; r <= max((n - 1) / 2, (m - 1) / 2); r++) // 枚舉半徑{// 枚舉中心星的坐標for (int i = 1 + r; i <= n - r; i++){for (int j = 1 + r; j <= m - r; j++){// 十字星座的五個頂點均為'*'if (g[i][j] == '*' && g[i - r][j] == '*' && g[i + r][j] == '*' && g[i][j - r] == '*' && g[i][j + r] == '*'){cnt++;        // 星座個數++if (cnt == k) // 找到第k個星座,直接輸出答案{cout << i << ' ' << j << '\n';cout << i - r << ' ' << j << '\n';cout << i + r << ' ' << j << '\n';cout << i << ' ' << j - r << '\n';cout << i << ' ' << j + r << '\n';return 0;}}}}}// 星座數小于k,輸出-1cout << -1 << '\n';return 0;
}

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

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

相關文章

JAVA高級進階13單元測試、反射、注解

第十三天、單元測試、反射、注解 單元測試 介紹 單元測試 就是針對最小的功能單元(方法)&#xff0c;編寫測試代碼對其進行正確性測試 咱們之前是如何進行單元測試的&#xff1f; 有啥問題 &#xff1f; 只能在main方法編寫測試代碼&#xff0c;去調用其他方法進行測試。 …

頁面開發感想

頁面開發 1、 前端預覽 2、一些思路 2.1、首頁自定義element-plus的走馬燈 :deep(.el-carousel__arrow){border-radius: 0%;height: 10vh; }需要使用:deep(標簽)才能修改樣式 或者 ::v-deep 標簽 2.2、整體設計思路 <template><div class"card" style&…

【ChatBI】text2sql-不需要訪問數據表-超輕量Python庫Vanna快速上手,對接oneapi

oneapi 準備 首先確保你有oneapi &#xff0c;然后申請 kimi的api 需要去Moonshot AI - 開放平臺 然后添加一個api key 然后打開oneapi的渠道界面&#xff0c;添加kimi。 然后點擊 測試&#xff0c; 如果能生成響應時間&#xff0c;就是配置正確。 然后創建令牌 http:…

Vllm Offline 啟動

Vllm Offline 啟動 Vllm Offline 啟動&#xff0c;設置環境變量&#xff0c; TRANSFORMERS_OFFLINE1reference: https://github.com/vllm-project/vllm/discussions/1405

Linux shell編程學習筆記60:touch命令

0 前言 在csdn技能樹Linux入門的練習題中&#xff0c;touch是最常見的一條命令。這次我們就來研究它的用法。 1 touch命令的功能、格式和選項說明 我們可以使用touch --help命令查看touch命令的幫助信息。 [purpleendurer bash ~ ]touch --help Usage: touch [OPTION]... …

MATLAB-NGO-CNN-SVM,基于NGO蒼鷹優化算法優化卷積神經網絡CNN結合支持向量機SVM數據分類(多特征輸入多分類)

NGO-CNN-SVM&#xff0c;基于NGO蒼鷹優化算法優化卷積神經網絡CNN結合支持向量機SVM數據分類(多特征輸入多分類) 1.數據均為Excel數據&#xff0c;直接替換數據就可以運行程序。 2.所有程序都經過驗證&#xff0c;保證程序可以運行。 3.具有良好的編程習慣&#xff0c;程序均…

【Android面試八股文】Activity A跳轉B,B跳轉C,A不能直接跳轉到C,A如何傳遞消息給C?

文章目錄 1. 使用Intent傳遞消息2. 使用全局單例類(Singleton)3. 使用靜態變量4. 使用Application全局靜態變量5. 使用 Android系統剪切板(Clipboard)6. 本地化存儲方式6.1 使用SharedPreferences6.2 使用File文件存儲方式傳遞消息6.3 使用SQLite數據庫方式傳遞消息7. 使用廣…

【Spring Boot】Java 的數據庫連接模板:JDBCTemplate

Java 的數據庫連接模板&#xff1a;JDBCTemplate 1.JDBCTemplate 初識1.1 JDBC1.2 JDBCTemplate 2.JDBCTemplate 實現數據的增加、刪除、修改和查詢2.1 配置基礎依賴2.2 新建實體類2.3 操作數據2.3.1 創建數據表2.3.2 添加數據2.3.3 查詢數據2.3.4 查詢所有記錄2.3.5 修改數據2…

【ai】tx2 nx:ubuntu18.04 yolov4-triton-tensorrt 成功部署server 運行

isarsoft / yolov4-triton-tensorrt運行發現插件未注冊? 【ai】tx2 nx: jetson Triton Inference Server 部署YOLOv4 【ai】tx2 nx: jetson Triton Inference Server 運行YOLOv4 對main 進行了重新構建 【ai】tx2 nx :ubuntu查找NvInfer.h 路徑及哪個包、查找符號【ai】tx2…

深度學習實戰81-基于大模型的Chatlaw法律問答中的知識圖譜融合思路,數據集說明、以及知識圖譜對ChatLaw的影響介紹

大家好,我是微學AI,今天給大家介紹一下深度學習實戰81-基于大模型的Chatlaw法律問答中的知識圖譜融合思路,數據集說明、以及知識圖譜對ChatLaw的影響介紹。基于大模型的Chatlaw法律問答系統融合了知識圖譜,以提高法律咨詢服務的可靠性和準確性。Chatlaw通過結合知識圖譜與人…

AES加密算法及AES-CMAC原理白話版系統解析

本文框架 前言1. AES加密理論1.1 不同AES算法區別1.2 加密過程介紹1.2.1 加密模式和填充方案選擇1.2.2 密鑰擴展1.2.3分組處理1.2.4多輪加密1.2.4.1字節替換1.2.4.2行移位1.2.4.3列混淆1.2.4.4輪密鑰加1.3 加密模式1.3.1ECB模式1.3.2CBC模式1.3.3CTR模式1.3.4CFB模式1.3.5 OFB模…

redis 單節點數據如何平滑遷移到集群中

目的 如何把一個redis單節點的數據遷移到 redis集群中 方案&#xff1a; 使用命令redis-cli --cluster import 導入數據至集群 --cluster-from <arg>--cluster-from-user <arg> 數據源用戶--cluster-from-pass <arg> 數據源密碼--cluster-from-askpass--c…

css_22_過渡動畫

一.過渡 transition-property 作用&#xff1a;定義哪個屬性需要過渡。結構&#xff1a; transition-property: all; 常用值&#xff1a; 1.none&#xff1a;不過渡任何屬性。 2.all&#xff1a;過渡所有能過渡的屬性。 3&#xff0e;具體某個屬性名&#xff0c;例如&#xf…

駕校預約小程序系統的設計

管理員賬戶功能包括&#xff1a;系統首頁&#xff0c;個人中心&#xff0c;學員管理&#xff0c;教練管理&#xff0c;駕校信息管理&#xff0c;駕校車輛管理&#xff0c;教練預約管理&#xff0c;考試信息管理 微信端賬號功能包括&#xff1a;系統首頁&#xff0c;駕校信息&a…

Java基礎——五、繼承

五、繼承 簡要 1、說明 繼承(Inheritance)是面向對象編程(OOP)的一個核心概念&#xff0c;它允許一個類(子類)繼承另一個類(父類)的屬性和方法&#xff0c;從而實現代碼重用和結構化組織。通過繼承&#xff0c;子類可以擴展父類的功能或者對父類的方法進行重寫。 父類(超類…

基于docker安裝redis服務

Redis是我們在項目中經常需要使用的緩存數據庫&#xff0c;安裝redis的方式也有很多&#xff0c;本文主要是給大家講解如何基于docker進行redis服務的安裝&#xff0c;主要介紹&#xff0c;如何拉取redis鏡像、如何掛載redis的數據以及使用redis的配置文件和開啟認證等功能&…

steam社區載入失敗、加載不出來、打不開?

隨著steam夏季大促的到來&#xff0c;最近steam在線用戶越來越多了&#xff0c;很多玩家在自己喜歡的游戲社區里看最新的玩法、攻略和玩家的游戲心得。不過有不少玩家表示有時候會打不開游戲社區或是社區加載失敗等問題。根據大家遇到的問題&#xff0c;這里總結了幾種解決方法…

構建現代醫療:互聯網醫院系統源碼與電子處方小程序開發教學

本篇文章&#xff0c;筆者將探討互聯網醫院系統的源碼結構和電子處方小程序的開發&#xff0c;幫助讀者更好地理解和掌握這些前沿技術。 一、互聯網醫院系統源碼結構 互聯網醫院系統通常由多個模塊組成&#xff0c;每個模塊負責不同的功能。以下是一個典型的互聯網醫院系統的主…

基于C語言的Jacobi迭代和Gauss-Seidel迭代的方程組求解實現

文章目錄 Jacobi迭代方法介紹Gauss-Seidel迭代方法介紹具體代碼實現示例題目實現效果 Jacobi迭代方法介紹 Jacobi迭代法是一種簡單的迭代求解方法&#xff0c;適用于嚴格對角占優矩陣。其基本思想是利用當前迭代步的已知解來更新下一個迭代步的解。在C語言實現中&#xff0c;我…

商協會小程序如何提升商協會形象?

商協會小程序在提升商協會形象方面扮演著重要角色。以下是關于商協會小程序如何提升商協會形象的一些場景分析&#xff1a; 1、數字化名片與品牌形象展示 小程序可以作為商協會的數字名片&#xff0c;通過展示商會文化、活動信息和會員服務&#xff0c;有效提升商會的品牌形象…