Light oj 1005 - Rooks (找规律)

题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1005

纸上画一下,找了一下规律,Ank*Cnk.

 1 //#pragma comment(linker, "/STACK:102400000, 102400000")
 2 #include <algorithm>
 3 #include <iostream>
 4 #include <cstdlib>
 5 #include <cstring>
 6 #include <cstdio>
 7 #include <vector>
 8 #include <cmath>
 9 #include <ctime>
10 #include <list>
11 #include <set>
12 #include <map>
13 using namespace std;
14 typedef long long LL;
15 typedef pair <int, int> P;
16 const int N = 1e5 + 5;
17
18 LL Anm(LL n, LL m) {
19     LL ans = 1;
20     for(LL i = n; i >= n - m + 1; --i) {
21         ans = ans * i;
22     }
23     return ans;
24 }
25
26 int main()
27 {
28     int t;
29     LL n, k;
30     scanf("%d", &t);
31     for(int ca = 1; ca <= t; ++ca) {
32         scanf("%lld %lld", &n, &k);
33         printf("Case %d: ", ca);
34         if(k > n) {
35             printf("0\n");
36             continue;
37         }
38         LL ans = Anm(n, k);
39         LL temp = ans;
40         for(LL i = k; i >= 2; --i) {
41             temp /= i;
42         }
43         printf("%lld\n", ans * temp);
44     }
45     return 0;
46 }
时间: 2024-11-10 13:45:01

Light oj 1005 - Rooks (找规律)的相关文章

Light OJ 1005 - Rooks(DP)

题目大意: 给你一个N和K要求确定有多少种放法,使得没有两个车在一条线上. N*N的矩阵, 有K个棋子. 题目分析: 我是用DP来写的,关于子结构的考虑是这样的. 假设第n*n的矩阵放k个棋子那么,这个推导过程如下. 当我们们第n*n的矩阵的时候可以考虑第(n-1)*(n-1)的矩阵经过哪些变换可以变成n*n的. 如上图蓝色方格.我们加入蓝色方格之后,矩阵就会增大一圈. 1.加入我们蓝色方格不放置棋子. dp[n-1][k] 2.加入蓝色方格放置一枚棋子,那么我们其实有三种位置可以放置:(1)右

1005 - Rooks(规律)

1005 - Rooks   PDF (English) Statistics Forum Time Limit: 1 second(s) Memory Limit: 32 MB A rook is a piece used in the game of chess which is played on a board of square grids. A rook can only move vertically or horizontally from its current positio

(light OJ 1005) Rooks dp

http://www.lightoj.com/volume_showproblem.php?problem=1005    PDF (English) Statistics Forum Time Limit: 1 second(s) Memory Limit: 32 MB A rook is a piece used in the game of chess which is played on a board of square grids. A rook can only move vert

找规律/hdu 1005 Number Sequence

题意 给出a,b,n,已知f[1]=f[2]=1,f[i]=(a*f[i-1]+b*f[i-2]) mod 7 输出f[n] 数据范围 1 <= A, B <= 1000, 1 <= n <= 100,000,000 分析 首先,直接求..肯定是不行的 会tle 会mle 但是可以找到规律,例如对a=1,b=1 这个数据,有 f1=1 f2=1 f3=3 f4=5 f5=4 f6=0 f7=1 f8=1 f9=3 f10=5 f11=4 f12=0 ???? 我们会发现有一定的规律

[Swust OJ 666]--初来乍到(题号都这么溜~~,递归,找规律)

题目链接:http://acm.swust.edu.cn/problem/0666/ Time limit(ms): 1000 Memory limit(kb): 65535 Description 小李去埃及旅游,但是初来乍到的他不认识罗马数,所以请你将阿拉伯数n ( 0 < n <= 1000)改写为罗马数. Input N行数据,每行一个满足0 < n <= 1000的数: 结束以EOF判断 Output 每行一个,见输出示例 Sample Input 1 10 35 99

1005:取余,循环,找规律

Problem Description A number sequence is defined as follows:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.Given A, B, and n, you are to calculate the value of f(n). Input The input consists of multiple test cases. Each test case cont

【55测试】【字符串】【栈】【找规律】

集训第二天,额,考崩了. 第一题 hao 大意:(这个名字就不要在意了,其实是祖玛游戏) 模拟祖玛游戏的模式,给一个'A'~'Z'的字符串,然后有t个插入操作为 “ 添加后的在原字符串的位置 x  插入元素 c ”,字符串中有超过或等于 3 个相同的字符,则被消除,输出每次操作后剩余的字符串,如果为空,则输出“-”. 样例: ACCBA                     输出:  ABCCBA 5   AABCCBA 1 B AABBCCBA 0 A - 2 B A 4 C 0 A 解:

poj 3372(找规律)

Candy Distribution Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6033   Accepted: 3351 Description N children standing in circle who are numbered 1 through N clockwise are waiting their candies. Their teacher distributes the candies by

hdu1005 超规模&amp;gt;&amp;gt;找规律&amp;gt;&amp;gt;有限次数循环

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1005 //由于题目有两项在变,一项有7种可能,全部共同拥有49种情况. /* 超规模>>算法优化 >>找规律>>规律变化 >>有限次数内循环>>找到变化范围 */ int main() { int f[51]={49,1,1}; int a,b,n,i; while( cin>>a>>b>>n,a+b+n){ fo