题目链接:uva 11490 - Just Another Problem
题目大意:有n个士兵,要排列成一个方阵,要求方阵尽量大,于是在方正的中间会空出两个正方形的区域,空出来的局域要求厚度相同,即正方形的四条边向相应方向均再有x行或者列。
解题思路:根据题意可以知道x(6x+7r)=n,x为厚度,r为正方形的边长。接着枚举x,x是n的因子。
#include <cstdio>
#include <cstring>
#include <cmath>
typedef long long ll;
const ll MOD = 100000007;
ll n;
int main () {
while (scanf("%lld", &n) == 1 && n) {
int cnt = 0;
ll m = sqrt(n+0.5);
for (ll i = 1; i <= m; i++) {
if (n%i)
continue;
ll j = n / i;
j -= 6 * i;
if (j%7 || j <= 0)
continue;
ll r = (j/7) % MOD;
ll ans = (2 * r * r) % MOD;
if (ans == 0)
continue;
cnt++;
printf("Possible Missing Soldiers = %lld\n", ans);
}
if (cnt == 0)
printf("No Solution Possible\n");
printf("\n");
}
return 0;
}
分享到:
相关推荐
判断输入字符串是否为镜像或回文串。 来源于UVaOJ - 401. 水题。
开源项目-codingsince1985-UVa#uva-online-judge-solutions-in-golang.zip,两年来每天都在解决一个uva在线裁判问题,算起来…
uva705 Slash Maze 的代码,在UVaOJ上通过
PDF试题
uva532 Dungeon Master的源代码,并且AC了
Algorithm-UVA-Solutions-in-Python.zip,python 3中各种uva(acm)问题的解决方案。,算法是为计算机程序高效、彻底地完成任务而创建的一组详细的准则。
这是UVA133 TheDoleQueue救济金发放问题,经典的算法问题。初学算法的人要对这种算法非常熟悉并且能熟练运用。
leetcode 2 算法-Java UVa Online Judge(ACM-ICPC Live ...使用:数组、哈希表、链表、二分搜索、动态规划、堆栈、堆、reedy、排序、树 DFS、BFS、图、二分搜索树、递归、记忆、队列、映射等。...Uva-ACM-ICPC
tpcw-nyu-uva-client 客户端