题意:俄罗斯套娃娃。你们都懂得。 然后给定n(娃娃个数),m(几组关系),每组关系中第一个数字是num,代表后面有几个娃娃。问最少花多少时间能把娃娃从1~n套好;
思路:对于能从1开始连续的,一定可以不用拆,连着就好了。然后后面统统都要拆,这样时间才会最短
#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+500;
int a[maxn];
int main(void)
{
int n,m;
cin >> n >> m;
int ans=0;
for(int i=1; i<=m; i++)
{
int num;
scanf("%d",&num);
int x,temp;
int flag=0;
scanf("%d",&x);temp=x;
if(x==1) flag=1;
for(int j=2; j<=num; j++)
{
scanf("%d",&x);
if(flag==1 && x==temp+1)
{
temp=x;
continue;
}
if(x==1)
{
temp=x;
flag=1;
}
else
{
flag=0;ans++;
}
}
}
ans=ans+ans+m-1;
cout << ans << endl;
}
// 这题在最后2分钟A出来了,妙不可言。
1.学习一定要静下心来,题目要仔细看要求.
2.有诗人的想象,你可以的!