本文共 1002 字,大约阅读时间需要 3 分钟。
真心没发现规律。感觉挺像CF一些锻炼思维的题
看了这里http://hi.baidu.com/knowledgetime/item/87d13b1f12290a53f1090ea7
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define LL long long#define PI 3.1415926535897932626using namespace std;int gcd(int a, int b) { return a % b == 0 ? b : gcd(b, a % b);}int N,M;int slove(){ if (N == 1 || M == 1) return max(N,M); else if (N == 2 || M == 2) { if (M > N) swap(N,M);// N>M;right now M == 2; int cnt = N / 4 * 4; if (N % 4 == 1 || N % 4 == 2 ) cnt += N % 4 * 2; else if (N % 4 == 3) cnt += 4; return cnt; } else return ((M * N) + 1) / 2;}int main(){ while (scanf("%d%d",&N,&M)!=EOF) { if (N == 0 && M == 0) break; int u = N , v = M; printf("%d knights may be placed on a %d row %d column board.\n",slove(),u,v); } return 0;}
转载于:https://www.cnblogs.com/Commence/p/3993962.html