T4310 祖瑪游戲

来源:http://www.cnblogs.com/zwfymqz/archive/2017/05/06/6817806.html
-Advertisement-
Play Games

題目描述 祖瑪是一款曾經風靡全球的游戲,其玩法是:在一條軌道上初始排列著若幹 個彩色珠子,其中任意三個相鄰的珠子不會完全同色。此後,你可以發射珠子到 軌道上並加入原有序列中。一旦有三個或更多同色的珠子變成相鄰,它們就會立 即消失。這類消除現象可能會連鎖式發生,其間你將暫時不能發射珠子。 開發商最近準 ...


題目描述

祖瑪是一款曾經風靡全球的游戲,其玩法是:在一條軌道上初始排列著若幹

個彩色珠子,其中任意三個相鄰的珠子不會完全同色。此後,你可以發射珠子到

軌道上並加入原有序列中。一旦有三個或更多同色的珠子變成相鄰,它們就會立

即消失。這類消除現象可能會連鎖式發生,其間你將暫時不能發射珠子。

開發商最近準備為玩家寫一個游戲過程的回放工具。 他們已經在游戲內完成

了過程記錄的功能,而回放功能的實現則委托你來完成。

游戲過程的記錄中,首先是軌道上初始的珠子序列,然後是玩家接下來所做

的一系列操作。你的任務是,在各次操作之後及時計算出新的珠子序列。

輸入輸出格式

輸入格式:

第一行是一個由大寫字母'A'~'Z'組成的字元串, 表示軌道上初始的珠子序列,

不同的字母表示不同的顏色。

第二行是一個數字n,表示整個回放過程共有n次操作。

接下來的n行依次對應於各次操作。每次操作由一個數字k和一個大寫字母∑

描述, 以空格分隔。 其中, ∑為新珠子的顏色。 若插入前共有m顆珠子, 則k ∈ [0,m]

表示新珠子嵌入之後(尚未發生消除之前)在軌道上的位序。

輸出格式:

輸出共n行,依次給出各次操作(及可能隨即發生的消除現象)之後軌道上

的珠子序列.

如果軌道上已沒有珠子,則以“-”表示。

輸入輸出樣例

輸入樣例#1:
ACCBA
5
1 B
0 A
2 B
4 C
0 A
輸出樣例#1:
ABCCBA
AABCCBA
AABBCCBA
-
A

說明

100%的數據滿足1 ≤ n ≤ 10^3 ,0 ≤ m ≤ 2 × 10^3 。

 

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 using namespace std;
 5 int where;
 6 int flag=0;
 7 string c;
 8 string a;
 9 int n;
10 void pd()
11 {
12     int tot=1;
13     do
14     {
15         flag=0;
16         tot=1;
17         int h=where-1,t=where+1,now=where;
18         while(a[h]==a[now]&&h>=0)
19         {
20             tot++;
21             h--;
22         }
23         h++;
24         while(a[t]==a[now]&&t<a.size())
25         {
26             tot++;
27             t++;
28         }
29         t--;
30         if(tot>=3)
31         {
32             //cout<<endl<<a<<"******"<<endl;
33             a.erase(h,tot);
34             flag=1;
35             //cout<<endl<<a<<"-------"<<endl;
36         }
37         where=h;
38     }while(flag==1);
39 
40 }
41 int main()
42 {
43     getline(cin,a);
44     scanf("%d",&n);
45     while(n--)
46     {
47         cin>>where>>c;
48         a.insert(where,c);
49         pd();
50         if(a.size()==0)
51         cout<<"-"<<endl;
52         else cout<<a<<endl;
53     }
54     return 0;
55 }

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • C language 學習心得 附:為啥起這麼霸氣側漏,招大神們鄙視的標題,正如我在《C language》隨筆的介紹中寫的,這是一個寫個妹紙們看的C language的文章。沒錯!!寫這篇文章的靈感也來自於上周Clanguage課上偶撩到一個連書包都不放下在玩手機的妹子(普通聊天而已,噓~~~), ...
  • SpringBoot的幾個使用技巧 首先提供幾個SpringBoot開發過程中常用的網站: 1. Spring Boot官方文檔:http://docs.spring.io/spring boot/docs 2. SpringBoot項目初始化網站:https://start.spring.io/ ...
  • 1、java程式的基本結構大體上可以分為包、類、main()主方法、標識符、關鍵字、語句和註釋等。 2、標識符和關鍵字區分大小寫。 3、主方法是應用程式的入口點,java程式是從該方法開始執行的,main是主方法的名稱,程式員不可以更改。 4、標識符 是一個名字,用來標識類名、變數名、方法名、數組名 ...
  • 看了兩天《Learn Objective-C on the MAC》 中文版本《Objective-C基礎編程》,大概認真讀到了第9章記憶體管理部分,感覺這語言可比C++簡單多了。 第一天,因為有C語言基礎的緣故,我在windows 上安裝了GNUstep (Objective-C)開發環境,變看電子 ...
  • 題目描述 為了準備一個獨特的頒獎典禮,組織者在會場的一片矩形區域(可看做是平面直角坐標系的第一象限)鋪上一些矩形地毯。一共有 n 張地毯,編號從 1 到n 。現在將這些地毯按照編號從小到大的順序平行於坐標軸先後鋪設,後鋪的地毯覆蓋在前面已經鋪好的地毯之上。 地毯鋪設完成後,組織者想知道覆蓋地面某個點 ...
  • 一、任務 後臺——登錄 包含的內容:1)bootstrap驗證--登錄 2)MD5加密(加鹽)--對密碼 3)三框架頁面--主頁面 二、整體圖 三、分享 源碼、資料庫及圖片共用鏈接:http://pan.baidu.com/s/1dFIMav3 密碼:sers ...
  • 作業二:多級菜單 1.三級菜單 2.可以次選擇進入各子菜單 3.所需新知識點:列表、字典 4.列印b回到上一層 5.列印q退出迴圈 流程圖如下: readme: (1)存儲三級菜單的字典;設置標識符active用來迴圈; (2)生成存儲省市的字典,d1 = {1: '河南', 2: '廣東', 3: ...
  • 寫在前面的話 個人由某方面的興趣需要學習 F#,網路上有關F#的中文資料很少,微軟官方有很不錯的文檔,但是很可惜的是絕大部分的章節都是英文的。個人是一位.NET愛好者,想自己將 F# 的官方文檔翻譯出來,算是為了自己喜歡的 .NET 做一些貢獻。 原文鏈接 Getting started with ...
一周排行
    -Advertisement-
    Play Games
  • 概述:在C#中,++i和i++都是自增運算符,其中++i先增加值再返回,而i++先返回值再增加。應用場景根據需求選擇,首碼適合先增後用,尾碼適合先用後增。詳細示例提供清晰的代碼演示這兩者的操作時機和實際應用。 在C#中,++i 和 i++ 都是自增運算符,但它們在操作上有細微的差異,主要體現在操作的 ...
  • 上次發佈了:Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本,今天計劃準備壓測一下 .NET 版本,來測試並記錄一下 Taurus.MVC 框架在 .NET 版本的性能,以便後續持續優化改進。 為了方便對比,本文章的電腦環境和測試思路,儘量和... ...
  • .NET WebAPI作為一種構建RESTful服務的強大工具,為開發者提供了便捷的方式來定義、處理HTTP請求並返迴響應。在設計API介面時,正確地接收和解析客戶端發送的數據至關重要。.NET WebAPI提供了一系列特性,如[FromRoute]、[FromQuery]和[FromBody],用 ...
  • 原因:我之所以想做這個項目,是因為在之前查找關於C#/WPF相關資料時,我發現講解圖像濾鏡的資源非常稀缺。此外,我註意到許多現有的開源庫主要基於CPU進行圖像渲染。這種方式在處理大量圖像時,會導致CPU的渲染負擔過重。因此,我將在下文中介紹如何通過GPU渲染來有效實現圖像的各種濾鏡效果。 生成的效果 ...
  • 引言 上一章我們介紹了在xUnit單元測試中用xUnit.DependencyInject來使用依賴註入,上一章我們的Sample.Repository倉儲層有一個批量註入的介面沒有做單元測試,今天用這個示例來演示一下如何用Bogus創建模擬數據 ,和 EFCore 的種子數據生成 Bogus 的優 ...
  • 一、前言 在自己的項目中,涉及到實時心率曲線的繪製,項目上的曲線繪製,一般很難找到能直接用的第三方庫,而且有些還是定製化的功能,所以還是自己繪製比較方便。很多人一聽到自己畫就害怕,感覺很難,今天就分享一個完整的實時心率數據繪製心率曲線圖的例子;之前的博客也分享給DrawingVisual繪製曲線的方 ...
  • 如果你在自定義的 Main 方法中直接使用 App 類並啟動應用程式,但發現 App.xaml 中定義的資源沒有被正確載入,那麼問題可能在於如何正確配置 App.xaml 與你的 App 類的交互。 確保 App.xaml 文件中的 x:Class 屬性正確指向你的 App 類。這樣,當你創建 Ap ...
  • 一:背景 1. 講故事 上個月有個朋友在微信上找到我,說他們的軟體在客戶那邊隔幾天就要崩潰一次,一直都沒有找到原因,讓我幫忙看下怎麼回事,確實工控類的軟體環境複雜難搞,朋友手上有一個崩潰的dump,剛好丟給我來分析一下。 二:WinDbg分析 1. 程式為什麼會崩潰 windbg 有一個厲害之處在於 ...
  • 前言 .NET生態中有許多依賴註入容器。在大多數情況下,微軟提供的內置容器在易用性和性能方面都非常優秀。外加ASP.NET Core預設使用內置容器,使用很方便。 但是筆者在使用中一直有一個頭疼的問題:服務工廠無法提供請求的服務類型相關的信息。這在一般情況下並沒有影響,但是內置容器支持註冊開放泛型服 ...
  • 一、前言 在項目開發過程中,DataGrid是經常使用到的一個數據展示控制項,而通常表格的最後一列是作為操作列存在,比如會有編輯、刪除等功能按鈕。但WPF的原始DataGrid中,預設只支持固定左側列,這跟大家習慣性操作列放最後不符,今天就來介紹一種簡單的方式實現固定右側列。(這裡的實現方式參考的大佬 ...