UVA 10934 Dropping water balloons——dp
惊了,竟然有1e64这个数据,题目骗人啊。。。。。。
用cin的小伙伴们注意下一,cin是不能读1e64的(会直接终止输入),scanf读1e64会爆掉变成9223372036854775807,这个数据对题目结果没有影响,因此用scanf就行了,总之这道题并不是很严谨
#include #include #include #include using namespace std;typedef unsigned long long ull;const int maxn = 100;int k;ull n;ull dp[maxn][maxn];int main() { //freopen("out.txt", "w", stdout); memset(dp, 0, sizeof(dp)); for (int i = 1; i <= 63; i++) { for (int j = 1; j <= 63; j++) { dp[i][j] = max(dp[i][j], dp[i-1][j-1]+dp[i][j-1]+1); } } while (~scanf("%d %lld", &k, &n) && k) { //cout << k << " " << n << endl; if (k > 63) k = 63; bool ok = false; int ans; for (ans = 0; ans <= 63; ans++) { if (dp[k][ans] >= n) { ok = true; break; } } if (ok) cout << ans << endl; else cout << "More than 63 trials needed." << endl; } //cout << "end" << endl; //while(true); return 0;}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~