zoukankan      html  css  js  c++  java
  • 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest, qualification stage (Online Mirror, ACM-ICPC Rules, Teams Preferred) C C. Sum of Nestings

    题意:给出n个括号,问是否能让值和为k,一个括号的值为这个括号里面有多少个完整的括号

    思路:我们可以求出最大价值,即(1+2.....+(n-1)),如果他在某个地方不完整的括号,就看他有多少个剩余的,放在那个括号里,例如:

               10   42       (1+2+3+4+5+6+7+8)=36,(((((((())))))))就不能添加第9个括号了,那剩下的6个,我们就可以在倒数第6个那加上括号,那剩下的6个就每个多加一个了,(((((((())()))))))

    http://codeforces.com/contest/847/problem/C

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 typedef long long ll;
     4 const int N=200005;
     5 
     6 
     7 int main(){
     8      ll n,m;
     9      cin>>n>>m;
    10      ll Max=n*(n-1)/2;
    11      if(m>Max){
    12         cout<<"Impossible"<<endl;return 0;
    13      }
    14      ll sum=0,s=1;
    15      int cnt;
    16      for(int i=1;;i++){
    17         if(sum+i>m) {
    18             cnt=m-sum;break;
    19         }
    20         sum+=i;s++;
    21      }
    22 
    23      for(int i=1;i<=s;i++){
    24         printf("(");
    25         if(i==cnt) printf("()");
    26      }
    27      for(int i=1;i<=s;i++)
    28         printf(")");
    29      if(cnt) s++;
    30      for(int i=1;i<=n-s;i++)
    31         printf("()");
    32      cout<<endl;
    33 }
  • 相关阅读:
    Fiddler 简介
    jQuery 属性操作
    Win7的虚拟Wi-Fi
    接口与内部类
    继承(二)
    J2EE框架(Struts&Hibernate&Spring)的理解
    继承(一)
    对象与类
    控制流程
    数据类型
  • 原文地址:https://www.cnblogs.com/hhxj/p/7563085.html
Copyright © 2011-2022 走看看