zoukankan      html  css  js  c++  java
  • Java实现 洛谷 P1582 倒水

    在这里插入图片描述

    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.StringTokenizer;
     
    public class Main {
    	static long m = 0, f = 0;
    	public static void main(String[] args) {
    		FastScanner fs = new FastScanner();
    		int a = fs.nextInt();
    		int b = fs.nextInt();
    		long x[] = new long[32];
    		boolean y[] = new boolean[32];
    		int n = 0;
    		x[0] = 1;
    		x[1] = 2;
    		for (int i = 2; i < y.length; i++) {
    			x[i] = 2 * x[i - 1];
    		}
    		for (int i = 31; i >= 0; i--) {
    			if (a >= x[i]) {
    				a -= x[i];
    				y[i] = true;
    				n++;
    			}
    		}
    		if (n > b) {
    			int d = n - b;
    			for (int i = 0; i < y.length; i++) {
    				if (y[i] && d == 0) {
    					f = x[i];
    					break;
    				}
    				if (y[i] && d != 0) {
    					m += x[i];
    					d--;
    				}
    			}
    			System.out.println(f - m);
    		} else {
    			System.out.println(0);
    		}
     
    	}
     
    	public static class FastScanner {
    		private BufferedReader br;
    		private StringTokenizer st;
     
    		public FastScanner() {
    			br = new BufferedReader(new InputStreamReader(System.in));
    		}
     
    		public String nextToken() {
    			while (st == null || !st.hasMoreElements()) {
    				try {
    					st = new StringTokenizer(br.readLine());
    				} catch (Exception e) {
     
    				}
     
    			}
    			return st.nextToken();
    		}
     
    		public int nextInt() {
    			return Integer.valueOf(nextToken());
    		}
    	}
     
    }
    
  • 相关阅读:
    [luogu3393]逃离僵尸岛
    [BZOJ2818]GCD
    [SCOI2015]情报传递
    [NOIP2010]引水入城
    [luogu4315]月下“毛景树”
    「LibreOJ NOI Round #2」不等关系
    [HNOI2013]游走
    Yet Another Minimization Problem
    ZJOI2015 地震后的幻想乡
    [九省联考2018]一双木棋chess
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13076654.html
Copyright © 2011-2022 走看看