zoukankan      html  css  js  c++  java
  • codeforces #310 div1 A

    首先我们考虑最暴力的拆解拼凑

    显然拆分掉所有的链需要 n-m 次

    之后拼凑需要 n-1 次

    然后由题目规定可知:
    只有从1出发且连续的链不用拆掉,其余的都必须拆掉(因为两个都套有娃娃的套娃不能组合)

    我们只需要计算从1出发且连续的链的长度即可

    设长度为L

    则ans=(n-m)+(n-1)-(L-1)*2

    这里的L-1是因为1并没有算入(n-m)+(n-1)中

    #include<cstdio>
    #include<cstring>
    #include<cstdlib>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    
    int n,m,Num,x;
    int ans;
    
    int main(){
    	scanf("%d%d",&n,&m);
    	ans=(n-1)+(n-m)+2;
    	for(int i=1;i<=m;++i){
    		scanf("%d",&Num);
    		bool f=true;
    		for(int j=1;j<=Num;++j){
    			scanf("%d",&x);
    			if(f&&x==j)ans=ans-2;
    			else f=false;
    		}
    	}printf("%d
    ",ans);
    	return 0;
    }
    

      

  • 相关阅读:
    原型设计作业
    案例分析作业
    202103226-1 编程作业
    准备工作
    通读《构建之法》
    顺序栈的基本操作
    原型设计(图书馆小程序)
    案例分析
    词频统计
    写出这个数
  • 原文地址:https://www.cnblogs.com/joyouth/p/5367430.html
Copyright © 2011-2022 走看看