2015 HIAST Collegiate Programming Contest B
题意:将一个文件复制到n台电脑上,但是只有m条网线,每台电脑一次只能连接一根网线,输出多少时间可以完成复制
思路:xjb模拟
AC代码:
#include "iostream" #include "string.h" #include "stack" #include "queue" #include "string" #include "vector" #include "set" #include "map" #include "algorithm" #include "stdio.h" #include "math.h" #define ll long long #define bug(x) cout<<x<<" "<<"UUUUU"<<endl; #define mem(a) memset(a,0,sizeof(a)) #define mp(x,y) make_pair(x,y) using namespace std; const long long INF = 1e18+1LL; const int inf = 1e9+1e8; const int N=1e5+100; ///BBBB ll n,m; int main(){ int t; cin>>t; while(t--){ ll ans=0; cin>>n>>m; ll g=1; while(n>0){ if(g>=m){ g=m; ans+=(n/m); if(n%m) ans++; break; } ans++; n-=g; g<<=1; } cout<<ans<<endl; } return 0; }