zoukankan      html  css  js  c++  java
  • 贪心/思维题 Codeforces Round #310 (Div. 2) C. Case of Matryoshkas

    题目传送门

     1 /*
     2     题意:套娃娃,可以套一个单独的娃娃,或者把最后面的娃娃取出,最后使得0-1-2-...-(n-1),问最少要几步
     3     贪心/思维题:娃娃的状态:取出+套上(2),套上(1), 已套上(0),先从1开始找到已经套好的娃娃层数,
     4                 其他是2次操作,还要减去k-1个娃娃是只要套上就可以
     5     详细解释:http://blog.csdn.net/firstlucker/article/details/46671251
     6 */
     7 #include <cstdio>
     8 #include <algorithm>
     9 #include <cstring>
    10 #include <cmath>
    11 using namespace std;
    12 
    13 const int MAXN = 1e5 + 10;
    14 const int INF = 0x3f3f3f3f;
    15 int a[MAXN];
    16 
    17 int main(void)      //Codeforces Round #310 (Div. 2) C. Case of Matryoshkas
    18 {
    19     // freopen ("C.in", "r", stdin);
    20 
    21     int n, k;
    22     while (scanf ("%d%d", &n, &k) == 2)
    23     {
    24         int cnt = 0;
    25         for (int i=1; i<=k; ++i)
    26         {
    27             int m;    scanf ("%d", &m);    int p = 0;
    28             for (int j=1; j<=m; ++j)
    29             {
    30                 scanf ("%d", &a[j]);    if (a[j] == 1)    p = j;
    31             }
    32             if (p)
    33             {
    34                 for (int j=p+1; j<=m; ++j)
    35                 {
    36                     if (a[j] == a[j-1] + 1)    cnt++;
    37                     else    break;
    38                 }
    39             }
    40         }
    41         printf ("%d
    ", (n - 1 - cnt) * 2 - (k - 1));
    42     }
    43 
    44     return 0;
    45 }
    编译人生,运行世界!
  • 相关阅读:
    占位
    提高班整风带给我的思考
    Servlet笔记
    CommandArgument传多个值
    asp.net中怎么判断request的一个值是否为空
    asp.net中cookie中文乱码的解决
    datatable的手工构造过程
    .net c#日期时间函数大全
    【转载】[.net程序员面试题]
    javascript自动生成表格行
  • 原文地址:https://www.cnblogs.com/Running-Time/p/4607902.html
Copyright © 2011-2022 走看看