zoukankan      html  css  js  c++  java
  • (Java实现) 洛谷 P1781 宇宙总统

    题目背景
    宇宙总统竞选

    题目描述
    地球历公元6036年,全宇宙准备竞选一个最贤能的人当总统,共有n个非凡拔尖的人竞选总统,现在票数已经统计完毕,请你算出谁能够当上总统。

    输入输出格式
    输入格式:
    president.in

    第一行为一个整数n,代表竞选总统的人数。

    接下来有n行,分别为第一个候选人到第n个候选人的票数。

    输出格式:
    president.out

    共两行,第一行是一个整数m,为当上总统的人的号数。

    第二行是当上总统的人的选票。

    输入输出样例
    输入样例#1:
    5
    98765
    12365
    87954
    1022356
    985678
    输出样例#1:
    4
    1022356

    import java.util.Scanner;
    
    
    public class yuzhouzongtong {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int n = sc.nextInt();
    		String x[] = new String[n + 1];
    		for (int i = 1; i <= n; i++) {
    			x[i] = sc.next();
    		}
    		int b = 1;   //表示所在的位置编号
    		String c = x[1];  //表示所在编号的投票数的字符串形式(有的数据太过庞大,毕竟的在宇宙投票)
    		int h = x[1].length();  //用于初步判断数据大小
    		for (int i = 1; i < n; i++) {   //遍历比较选出最大的数据
    			if (h > x[i + 1].length()) {
    				continue;
    			}
    			if (h < x[i + 1].length()) {
    				c = x[i + 1];
    				b = i + 1;
    				h = x[i + 1].length();
    			}
    			if (h == x[i + 1].length()) {  //如果长度相同就从左边遍历比较谁的数字大就整体大
    				char j[] = c.toCharArray();
    				char k[] = x[i + 1].toCharArray();
    				for (int f = 0; f < h; f++) {
    					if (j[f] < k[f]) {
    						c = x[i + 1];
    						b = i + 1;
    						h = x[i + 1].length();
    						break;
    					}
    					if (j[f] > k[f]) {   //此题没考虑有多个最大投票的人
    						break;
    					}
    				}
    			}
    
    		}
    		System.out.println(b);
            System.out.println(c); 
    	}
    
    }
    
    
  • 相关阅读:
    java三大框架
    Servlet 工作原理解析
    Android四大基本组件介绍与生命周期
    wait 和 sleep
    Linux Mysql使用
    Android开发人员必备的10 个开发工具
    AIDL
    IPC Binder
    php 比较2字符串相似度 百分比
    php 数字 的简单加解密
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13079452.html
Copyright © 2011-2022 走看看