zoukankan      html  css  js  c++  java
  • [Codeforces1174B]Ehab Is an Odd Person

    题目链接

    https://codeforces.com/contest/1174/problem/B

    题意

    给一个数组,只能交换和为奇数的两个数,问最终能得到的字典序最小的序列。

    题解

    • 内心OS:由题,只有交换奇偶的操作。(可略:开始觉得那就是奇数序列内部顺序不变,偶数序列内部顺序不变,然后优先队列。后来想了想不是这么回事...分明通过奇偶交换同奇偶内部顺序也可以变)。结论就是只要有数组中奇偶都存在就可以随便交换位置。同奇偶的交换借助另一个与它们元素不同的另一个元素即可互换位置。
    • 题解方法:当数组只有奇/偶,则输出原数组,否则输出排序后数组即可。

    todo

    好吧这并不是一份AC代码,居然在某个样例超时。可能是卡快排样例?但用List,shuffle再排序也无果。待解决。

    代码

    import java.util.Arrays;
    import java.util.Scanner;
    
    public class OddReOrder {
    	public static void main(String args[]) {
    		Scanner in=new Scanner(System.in);
    		int n=in.nextInt();
    		int[] arr=new int[n];	
    		for(int i=0;i<n;++i) {
    			arr[i]=in.nextInt();
    		}
    		
    		boolean oddFlag=false;
    		boolean evenFlag=false;
    		for(int i=0;i<n;++i) {
    			if((arr[i]&1)==1){
    				oddFlag=true;
    			}
    			else {
    				evenFlag=true;
    			}
    			if(evenFlag&&oddFlag) {
    				break;
    			}
    		}
    		
    		if(evenFlag&&oddFlag) {
    			Arrays.sort(arr);
    		}
    		
    		for(int i=0;i<n;++i) {
    			System.out.print(arr[i]+" ");
    		}
    	} 
    }
    
  • 相关阅读:
    EasyUi中使用自定义图标
    EasyUi初始配置
    struts2文件上传
    转换器
    Oracle 视图
    存储过程的优缺点
    Oracle 序列详解
    plsql使用技巧
    MYSQL和ORACLE的一些区别
    JAVA操作Excle之Poi(二)批量导出Excle数据
  • 原文地址:https://www.cnblogs.com/coding-gaga/p/11006862.html
Copyright © 2011-2022 走看看