1.点某个格子,将这个格子和周围的4个格子的颜色改变为与现有颜色相反的颜色。
2.也就是说点一个格子,那么最多更改5个格子的颜色。
3.在四个角上,以左上角的格子为例,它没有左边和上边,那么点它,只能影响它和它右边和它下边的格子。
4.初始状态为全黑,通过不断的点击,让所有格子的颜色变成黄的,就算全部点亮了,这样就通了一关了。
示例:对于5*5的格子:
点第一行第一列的格子:这个格子有右边和下边,那么把他们的颜色都改成和原来不一样的颜色。
接着点第二行第二列:这个格子有上下左右,那么要更改5个格子的颜色,但是这个格子的上边和左边是黄色的,那么点了以后,就会变成黑的,这个格子本身和它右边和下边原来是黑的,那么点击后变成黄色。
/// <summary>
/// 找10个最小的连续的合数
/// </summary>
class Program
{
static void Main(string[]
args)
{
Program p = new
Program();
int findCount =
10;
int count =
0;
int x =
1;
//不知道啥时候是个头,所以true
while
(true)
{
//从x开始找10个数,逐一判断是否是合数
&nbs
/// <summary>
/// 队列类(使用循环数组)(加上线程安全)
/// </summary>
/// <typeparam
name='T'>队列中元素的类型</typeparam>
public class Queue<T>
{
/// <summary>
/// 通知的状态机
/// </summary>
AutoResetEvent notice = new
AutoResetEvent(true);
/// <summary>
/// 循环数组,初始大小为100
/// </summary>
T[] ary = new T[100];
/// <summary>
&nb
/// <summary>
/// 队列类(使用循环数组)
/// </summary>
/// <typeparam
name='T'>队列中元素的类型</typeparam>
public class Queue<T>
{
/// <summary>
/// 循环数组,初始大小为100
/// </summary>
T[] ary = new T[100];
/// <summary>
/// 队头
/// </summary>
int front = 0;
/// <summary>
/// 队尾
/// <summary>
/// 泛型的栈(加上线程安全)
/// </summary>
/// <typeparam
name='T'>使用的时候才确定的类型</typeparam>
public class Stack<T>
{
/// <summary>
/// 通知的状态机
/// </summary>
AutoResetEvent notice=new
AutoResetEvent(true);
//初始栈大小为100
T[] ary = new T[100];
//顶端位置为0
int top = 0;
/// <summary>
/// 向栈中压入对象