zoukankan      html  css  js  c++  java
  • 895A. Pizza Separation#分披萨问题(前缀和)

    题目出处:http://codeforces.com/problemset/problem/895/A
    题目大意:对于给出的一些角度的披萨分成两份,取最小角度差
    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    //Pizza Separation
    int main(){
        int n;
        scanf("%d",&n);
        int *a = (int*) malloc (n * sizeof(int));
        int i;
        for(i=0;i<n;i++){
            scanf("%d",&a[i]);
        }
        if(n==1){
            printf("360
    ");
            return 0;
        }
        //前缀和 
        for(i=1;i<n;i++){
            a[i] += a[i-1];
        }
        int part1,part2,ans=360;
        for(i=0;i<n-1;i++){
            for(int j=i+1;j<n;j++){
                part1 = abs(a[i] - a[j]);
                if(part1==180){
                    printf("0
    ");
                    return 0;
                }else{
                    part2 = 360-part1;
                    int  t = abs(part1 - part2);
                    ans = ans<t ? ans:t;
                }
            }
        }
        printf("%d",ans);
        return 0;
    }

     本题是本人在codeforces第一个解决的问题,很有意义,全程暴力不解释

    个人分享,欢迎指导,未经允许,请勿转载。谢谢!
  • 相关阅读:
    几道cf水题
    cf水题
    一道cf水题
    c++list用法
    c++map用法
    c++ vector常见用法
    c++string,常见用法总结
    复变函数考试后的反思
    [FZYZOJ 1204] 零和问题
    [FZYZOJ 1202] 金坷垃
  • 原文地址:https://www.cnblogs.com/hello-OK/p/7965368.html
Copyright © 2011-2022 走看看