#include<iostream>
using namespace std;
#include<ctime>
#define N 100
int main()
{
cout<<"請輸入文章數:"<<endl;
int a[N],s;
cin>>s;
srand( (unsigned)time( NULL ) );
int m=rand()%10;
for(int i=0;i<s;i++)
{
if(rand()%2==1)
{a[i]=m;}
else
a[i]=rand()%10;
}
for(int i=0;i<s;i++)
cout<<a[i]<<" ";
int x=a[0],y=0;
for(int i=1;i<s;i++)
{
if(y>=0)
{
if(a[i]==x)
y++;
else
y--;
}
else
{
x=a[i];
y=0;
}
}
if(y<0)
cout<<"沒有水王!"<<endl;
else
cout<<"水王是"<<x<<endl;
}

思路:先用随機生成數生成一串代表id的數組,即先随機生成一個數,當随機生成的書取餘2後為1時,此時的id為一開始生成的數,否則id為再重新生成的一個數。一開始自己想的是如果水王的文章數達到一半以上,那麼會不會id相連的數最大的是水王!但是3+2的情況就不可以了!同學的思路:用一個變量計數,當這個文章的id與上一個文章一樣的情況下變量+1,否則-1,當變量<0時,變量歸0,且記下此時的id,當到最後變量為正時,記下的id既是水王,否則無水王。
感想:他是怎麼想到的。。。。。。