日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【牛客 - 210A】游戏(思维,脑洞)

發布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【牛客 - 210A】游戏(思维,脑洞) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題干:
BLUESKY007,fengxunling和dreagonm三個人發現了一個像素游戲,這款神奇的游戲每次會生成一個nxm的網格,其中每一個格子都被隨機染色為R,G,B三種顏色之一,每次都可以選擇任意一個非B顏色的格子進行一次操作,每次操作都會滿足以下規則:
1.操作的范圍為從整個網格的左上角到選定方格的矩形區域

2.操作區域內所有方格都遵循變換

3.第一個不能執行操作的人為失敗者,且按操作順序在失敗者之前的人取勝

為了能讓BLUESKY007感到快樂(照顧到BLUESKY007是個蒟蒻),fengxunling和dreagonm的操作都盡可能的讓BLUESKY007取勝,她們想知道在操作順序為的情況下,失敗者是誰.
?

輸入描述:

題目有多組數據 第一行一個整數t,表示數據組數 對于每組數據,第一行兩個整數n,m,接下來n行每行m個字符

輸出描述:

輸出共t行,每行一個字符串表示答案

?

示例1

輸入

復制

2 3 3 RGG BBG RRR 3 3 GRB RGR RBG

輸出

復制

dreagonm fengxunling

備注:

對于的數據, 對于另的數據, 對于的數據,

題目大意:

? ?每次都可以選擇一個非B格子(i,j),使得(1,1)~(i,j)所圍起來的矩形都變化一次,問操作到不能操作的時候,誰輸了。

解題報告:

? ?又被智商壓制了、、、看來真的是玩不過OI的啊,初中高中生的腦子就是不一樣、、、

-----

其實只需要看左上角就行了,因為題目描述寫的很清楚,三個人的操作都是為了
BLUESKY007能贏,所以游戲一定會結束,那么當橫縱坐標最大的非 B 顏色方格變為 B 顏
色時,可操作的方格范圍顯然是趨向收斂的,又因為操作規則的要求,左上角的方格在每
次操作中都會按規則進行變換,當可操作范圍收斂到左上角且左上角變為 B 顏色時,游
戲結束,所以無論中間的操作是怎樣進行的,最終左上角的方格一定會變為 B 顏色,而且
進行操作的人數和操作變換長度相同,所以我們只需要判斷左上角方格的顏色即可。

-----

? ? 以上是標準題解,簡單來說,結束時一定是所有的都變成B了,那么左上角就是B,因為每次都參與變化了,又恰好設計了RGB三色且是三個人玩,所以只跟最開始的左上角格子有關。。那些盡量讓誰誰誰獲勝啊啥的一切策略都是沒用的擺設、、、

? ? 其實你要知道啊,有的時候題意之所以晦澀難懂,其實就是想讓你跟隨他想讓你想的思維方向。你想遠了,自然就覺得題意難懂。其實照著這個思路如果是我造題,題意也得這么寫,就挺清楚了啊:比如告訴你一切操作就是為了讓某個人贏,其實是為了告訴你這游戲是收斂的,結果是存在的。

AC代碼:

#include<bits/stdc++.h> using namespace std; char maze[1000 + 5][1000 + 5]; int main() {int t;cin>>t;int n,m;while(t--) {scanf("%d%d",&n,&m);for(int i=0; i<n; i++) {cin>>maze[i];}if(maze[0][0]=='R') puts("dreagonm");else if(maze[0][0]=='G') puts("fengxunling");else puts("BLUESKY007");} }

?

總結

以上是生活随笔為你收集整理的【牛客 - 210A】游戏(思维,脑洞)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。