zoukankan      html  css  js  c++  java
  • 青蛙王子的题解

    青蛙们正遭遇一次史无前例的危机!为了解救族人,青蛙王子必须完成一个古老而艰难
    的游戏——zuma 游戏。
    zuma 游戏中,一条通道中有一些玻璃珠,每个珠子有各自的颜色,如图 1 所示。青蛙
    王子可以做的是选择一种颜色的珠子射入某个位置。
    在这里插入图片描述
    图 2 中青蛙王子选择一颗蓝色珠子,射入图示的位置,于是得到一个图 3 的局面。
    在这里插入图片描述
    在这里插入图片描述
    当青蛙王子射入一颗珠子后,如果射入的珠子与其他珠子组成了三颗以上连续相同颜色
    的珠子,这些珠子就会消失。例如,将一颗白色珠子射入图 4 中的位置,就会产生三颗颜色
    相同的白色珠子。这三颗珠子就会消失,于是得到图 5 的局面。
    在这里插入图片描述
    在这里插入图片描述
    需要注意的一点是,图 4 中的三颗连续的黄色珠子不会消失,因为并没有珠子射入其中。
    珠子的消失还会产生连锁反应。当一串连续相同颜色的珠子消失后,如果消失位置左右
    的珠子颜色相同,并且长度大于 2,则可以继续消失。例如,图 6 中,射入一颗红色珠子后,
    产生了三颗连续的红色珠子。当红色珠子消失后,它左右都是白色的珠子,并且一共有四颗,
    于是白色珠子也消失了。之后,消失位置的左右都是蓝色珠子,共有三颗,于是蓝色珠子也
    消失。最终得到图 7 的状态。注意,图 7 中的三颗黄色珠子不会消失,因为蓝色珠子消失的
    位置一边是紫色珠子,另一边是黄色珠子,颜色不同。
    在这里插入图片描述
    在这里插入图片描述
    除了上述的情况,没有其他的方法可以消去珠子。
    现在,请你协助青蛙王子消除通道中的珠子。给出每一轮选择的珠子的颜色、射入的位
    置,请你计算出最后还剩下多少颗珠子。

    大模拟,不讲。

    #include <bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    vector<int>v;
    int main(){
    	v.push_back(0);
    	int n,m,i;
    	scanf("%d %d",&n,&m);
    	for(int i=1;i<=n;i++){
    		int x;
    		cin>>x;
    		v.push_back(x);
    	}
    	for(i=1;i<=m;i++){
    		int x,y;
    		cin>>x>>y;
    		v.insert(v.begin()+y+1,x);
    		y++;
    		int l=y,r=y;
    		while(v[l-1]==v[y]&&l-1>0)l--;
    		while(v[r+1]==v[y]&&r+1<v.size())r++;
    		if(r-l>1){
    			for(int j=l;j<=r;j++)v.erase(v.begin()+l);
    			y=l-1;
    		}
    		while(v.size()>2){
    			int l=y,r=y;
    			while(v[l-1]==v[y]&&l-1>0)l--;
    			while(v[r+1]==v[y]&&r+1<v.size())r++;
    			if(r-l+1<3||r==y)break;
    			else{
    				v.erase(v.begin()+l,v.begin()+r+1);
    				y=l-1;
    			}
    		}
    	}cout<<v.size()-1;
    	return 0;
    }
    
  • 相关阅读:
    [唐胡璐]QTP框架 关键字驱动测试框架之二 框架目录管理
    [唐胡璐]测试用例设计 错误推测方法
    [唐胡璐]测试用例设计 边界值分析方法
    [唐胡璐]QTP框架 关键字驱动测试框架之三 对象库管理
    [唐胡璐]QTP框架 关键字驱动测试框架之一 框架思想
    [唐胡璐]VS技巧 C# Winform界面中的分隔线
    [唐胡璐]QTP框架 关键字驱动测试框架之四 测试用例管理
    [唐胡璐]VS技巧 两个ListBox中的项左右移动
    [唐胡璐]测试用例设计 等价类划分
    [唐胡璐]QTP技巧 利用脚本从excel导入Data Table
  • 原文地址:https://www.cnblogs.com/zhaohaikun/p/12816977.html
Copyright © 2011-2022 走看看