zoukankan      html  css  js  c++  java
  • Codeforces Round #390 (Div. 2)

    题目链接:http://codeforces.com/contest/754/problem/A

    题意:给定一个长度为n的序列,让你把这个序列分成几部分,保证分完后每一部分的和不为0.输出具体的划分。没有满足条件的划分输出NO

    思路:可以发现最多分成2部分就可以满足条件。 所以枚举中间的划分点。如果划分点在最后说明不用划分就满足。如果找不到划分点就说明不存在满足条件的划分。

    import java.io.PrintWriter;
    import java.util.Scanner;
    
    
    public class Main {
        public static final int MAXN=100+10;
        public static int num[]=new int [MAXN];
        public static void main(String[] args) {
            Scanner cin = new Scanner(System.in);
            PrintWriter out = new PrintWriter(System.out);
            int n=cin.nextInt(); 
            for(int i=1;i<=n;i++){
                num[i]=cin.nextInt();
            }
            int idx=0;
            for(int i=1;i<=n&&idx==0;i++){
                int sumL=0,sumR=0;
                for(int L=1;L<=i;L++){
                    sumL+=num[L];
                }
                for(int R=i+1;R<=n;R++){
                    sumR+=num[R];
                }
                if(i==n){
                    idx=sumL!=0?i:0;
                }else{
                    idx=sumL!=0&&sumR!=0?i:0;
                }
            }
            if(idx==0){
                out.println("NO");
            }else{
                out.println("YES");
                if(idx==n){
                    out.println(1);
                    out.printf("%d %d
    ", 1,n);
                }else{
                    out.println(2);
                    out.printf("%d %d
    ", 1,idx);
                    out.printf("%d %d
    ", idx+1,n);
                }
            }
            cin.close();
            out.flush();
        }
    }
  • 相关阅读:
    数据结构-堆(优先队列)习题
    数据结构-二叉搜索树习题
    数据结构-树习题
    数据结构-队列习题
    数据结构-堆栈习题
    数据结构-链表习题
    数据结构-顺序表习题
    数据结构-概论习题
    C语言中的stdin,stdout,stderr[转]
    SQL Server 查询数据库表结构
  • 原文地址:https://www.cnblogs.com/kirito520/p/6262376.html
Copyright © 2011-2022 走看看