zoukankan      html  css  js  c++  java
  • UVA

    /*
      有必要返工的一道题***!!!
      这题真...我终于明白,为什么入门经典上会说:描述比较抽象,如果对本题兴趣不大,可先跳过
      
      理解题意就用了特别特别久,好在有大佬们翻译了题目,写了详细的题解,然而,然而...还是对题意有些懵懵懂懂、一知半解的,虽然大概知道应该怎么写代码了,但是题意的理解感觉还是不到位,以及,如果晚些时候,再让我自己独立做一次,也许还是这种头大的状态...
      
      所以,先搁置在这,目前感觉只懂了四五成的样子,争取过段时间,能想得更加明白一些~
      
      附上解题过程中,启发过我的思路的blog:
      题意解析十分详尽:
      http://blog.csdn.net/XieNaoban/article/details/52199420
      
      虽然没有上一个blog那么详尽的思路解析,但是代码和上一个blog的思路是十分类似的:
      http://blog.csdn.net/wcr1996/article/details/43834873
      
      http://blog.csdn.net/code4101/article/details/38540759
    */



    #include <iostream>
    using namespace std;
    typedef long long ll;
    
    int main()
    {
    	cin.tie(0);
    	cin.sync_with_stdio(false);
    	ll n, sp, sq;
    	ll minK, minA, minB, A, B;
    	while (cin >> n >> sp >> sq)
    	{
    		minK = n * sq << 10;
    	//	minK = (ll)1<<40;
    		for (A = 0; A < 32; A++ ) 
    		for (B = 0; B < 32; B++ )
    		{
    			ll tp = ( ( (n - 1) * sp + ( (n - 1) * sp<<A) ) >> B) + sq; //注意加减号的运算符优先级比移位要高 
    			if (tp >= n * sq && tp < minK )
    			{
    				minK = tp;
    				minA = A; 
    				minB = B;
    			}
    		}
    		cout << minK << " " << minA << " " << minB << endl; 
    	}
    	
    	return 0;
    }


  • 相关阅读:
    How to change hostname on SLE
    How to install starDIct on suse OS?
    python logging usage
    How to reset password for unknow root
    How to use wget ?
    How to only capute sub-matched character by grep
    How to inspect who is caller of func and who is the class of instance
    How to use groovy script on jenkins
    Vim ide for shell development
    linux高性能服务器编程 (二) --IP协议详解
  • 原文地址:https://www.cnblogs.com/mofushaohua/p/7789469.html
Copyright © 2011-2022 走看看