• PAT 甲级 1113 Integer Set Partition (25 分)


    如此简单的一道题,刚开始被我想错了,错写了一堆东西…真担心过几天考试啊…叹气…

    思路:

    1.用数组存储,然后升序排序;
    2.分为[0,n/2)和[n/2,n-1]两个子集就好了;
    3.奇数个数第一个输出1,偶数个数第一个输出0;

    代码:

    #include<iostream>
    #include<algorithm>
    #include<vector>
    using namespace std;
    vector<int> v;
    int main(){
    	int n,num;
    	scanf("%d",&n);
    	for(int i=0;i<n;i++){
    		scanf("%d",&num);
    		v.push_back(num);
    	}
    	sort(v.begin(),v.end());
    	int sum=0;
    	for(int i=0;i<n/2;i++) sum+=v[n-1-i]-v[i];
    	if(n%2==0) printf("%d %d",0,sum);
    	else printf("%d %d",1,sum+v[n/2]);
    	return 0;
    }
    
  • 相关阅读:
    hotel管理
    MySQL数据库的学习
    搭建纸飞机
    二维码
    Linux 的安装
    AngularJS学习笔记
    css3部分知识点
    如何处理数据
    jq跨域在127.0.0.1:8020上的写法
    AJAX请求方式
  • 原文地址:https://www.cnblogs.com/yuhan-blog/p/12309015.html
Copyright © 2020-2023  润新知