10245大菠萝II的符文【2.26】--解题报告_无知的我_百度空间

描述

L最近在和同寝哥们玩大菠萝II,他很想收集里面的一个 道具:符文

符文有等级的,假设是1-5级吧;

有个规则是:3i级符文可以合成一个I+1级别符文(5级不能再合了)

L干的事情是:他用N个不同职业不同等级的号去刷不同等 级的怪,有的号上有部分符文,现在他想把这些所有符文都转到一个帐号上去,然后慢慢合成;

还有个奇怪事情:小L用不同号刷的时候,同一个号上同一个符文最多只有1个, 可能是0个。

假设这N个帐号都编号1-N,而且他登录的顺序就是按照1-N依次登录的;

合成的规则是这样的:对 于同一级的符文,如果有,只保留一个,多余的一旦有了3个相同的就合成一次;

每转一个号的符文他就会 去合成一次;

现在的问题是:如果他能 收集齐所有种类符文,请问在最早在转第几个号的时候可以完成?

输入

输入{dy}行包含一个整数N,表示有N个号;N不超过10000

一下N行每行包含5个整数,分别表示第I个号上第J种符文的个数bij0<=bij

输出

如果他可能收集齐,请输 出最小编号;

如果不能收集齐,请输出-1

样例输入

样例输出

2

解题思路:
模拟题,从上往下累加求和即可。

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int a[5];
int temp[5];
int number;
int count;
int i,t,j;
cin>>number;
for(i=0;i<5;i++)
{
cin>>a[i];
}

for(t=1;t<number;t++)
{
count=0;

for(i=0;i<5;i++)
cin>>temp[i];

for(j=4;j>0;j--)
{
a[j]=a[j]+temp[j];
if(a[j]==4)
{
a[j-1]++;
a[j]=1;
}
}
a[0]+=temp[0];
for(i=0;i<5;i++)
{
if(a[i]>=1)
count++;
if(count==5)
break;
}

if(count==5)
{
printf("%d\n",t+1);
break;
}
else
{
continue;
}


}
if(t==number)
printf("-1\n");

}


郑重声明:资讯 【10245大菠萝II的符文【2.26】--解题报告_无知的我_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——