【Codeforces Round #476 (Div. 2) [Thanks, Telegram!] B】Battleship
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                【Codeforces Round #476 (Div. 2) [Thanks, Telegram!] B】Battleship
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                 【鏈接】  我是鏈接,點我呀:) 
 【題意】
 在這里輸入題意
【題解】
 暴力枚舉船的左上角。
 然后統計每個點被覆蓋次數就好。
【代碼】
#include <bits/stdc++.h> #define LL long long #define rep1(i,a,b) for (int i = a;i <= b;i++) #define rep2(i,a,b) for (int i = a;i >= b;i--) #define all(x) x.begin(),x.end() #define pb push_back #define lson l,mid,rt<<1 #define rson mid+1,r,rt<<1|1 using namespace std;const double pi = acos(-1); const int dx[4] = {0,0,1,-1}; const int dy[4] = {1,-1,0,0}; const int N = 100;int n,k,num[N+10][N+10]; char s[N+10][N+10];int main(){#ifdef LOCAL_DEFINEfreopen("rush_in.txt", "r", stdin);#endifios::sync_with_stdio(0),cin.tie(0);cin >> n >> k;for (int i = 1;i <= n;i++) cin >>(s[i]+1);for (int i = 1;i <= n;i++)for (int j = 1;j <= n;j++){bool ok = true;for (int l = 0;l < k;l++)if (j+l>n||s[i][j+l]!='.'){ok = false;break;}if (ok){for (int l = 0;l < k;l++)num[i][j+l]++;}ok = true;for (int l = 0;l < k;l++)if (i+l>n || s[i+l][j]!='.'){ok = false;break;}if (ok && k>1)for (int l = 0;l < k;l++)num[i+l][j]++;}int x = 1,y = 1;for (int i = 1;i <= n;i++)for (int j = 1;j <= n;j++){if (num[i][j]>num[x][y]){x = i,y = j;}}cout<<x<<' '<<y<<endl;return 0; }轉載于:https://www.cnblogs.com/AWCXV/p/8949151.html
總結
以上是生活随笔為你收集整理的【Codeforces Round #476 (Div. 2) [Thanks, Telegram!] B】Battleship的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Python学习笔记(5),Battle
- 下一篇: QTextEdit 富文本格式清除
