Contest - 多校训练(985专场) Problem C: 985的方格难题
题目链接:http://acm.zzuli.edu.cn/zzuliacm/problem.php?cid=1157&pid=2
Description
Input
Output
Sample Input Sample Output -
分析:组合数/dp
dp:
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<ctype.h>
#include<stdlib.h>
#include <iostream>
#include<algorithm>
#include<queue>
#define N 100
using namespace std; int main()
{
int T,i,n,j,dp[N][N],x,y; scanf("%d", &T); while(T--)
{
scanf("%d %d %d", &n,&x,&y);
memset(dp,,sizeof(dp)); for(i=; i<=n; i++)
for(j=; j<=n; j++)
{
if(i==x&&j==y)///
dp[i][j]=;
else if(i==&&j==)///
dp[i][j]=;///1和2顺序反了,wa~wa~wa~
else
dp[i][j]=dp[i-][j]+dp[i][j-]; dp[i][j]%=;
} if(dp[n][n]==)
printf("-1\n");
else
printf("%d\n", dp[n][n]);
}
return ;
}
组合数:
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<ctype.h>
#include<stdlib.h>
#include <iostream>
#include<algorithm>
#include<queue>
#define N 10005
using namespace std; long long c(long long n,long long m)
{
if(m > n/)
m = n-m;
long long a =, b =;
for(int i =; i <= m; i++)
{
a *= n-i+;
b *= i;
if(a % b ==)
{
a /= b;
b =;
}
}
return a/b;
}
int main()
{
int t, n, x, y;
scanf("%d", &t);
while(t--)
{
scanf("%d%d%d", &n, &x, &y);
if((x == && y == )||(x == n && y == n))
{
printf("-1\n");
continue;
}
else
{
long long a = c(n*-, n-);
long long b = c(n*-x-y, n-x) * c( x+y--, x-);
int ans = (a-b)%;
printf("%d\n", ans);
}
}
return ;
}
Contest - 多校训练(985专场) Problem C: 985的方格难题的更多相关文章
- 算法训练 A+B Problem
算法训练 A+B Problem 时间限制:1.0s 内存限制:512.0MB 问题描述 输入A,B. 输出A+B. 输入格式 输入包含两个整数A,B,用一个空格分隔. 输出格式 ...
- 2019 Multi-University Training Contest 2: 1010 Just Skip The Problem 自闭记
2019 Multi-University Training Contest 2: 1010 Just Skip The Problem 自闭记 题意 多测.每次给你一个数\(n\),你可以同时问无数 ...
- HDU6578 2019HDU多校训练赛第一场 1001 (dp)
HDU6578 2019HDU多校训练赛第一场 1001 (dp) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6578 题意: 你有n个空需要去填,有 ...
- HDU6579 2019HDU多校训练赛第一场1002 (线性基)
HDU6579 2019HDU多校训练赛第一场1002 (线性基) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6579 题意: 两种操作 1.在序列末 ...
- HDU6621 K-th Closest Distance HDU2019多校训练第四场 1008(主席树+二分)
HDU6621 K-th Closest Distance HDU2019多校训练第四场 1008(主席树+二分) 传送门:http://acm.hdu.edu.cn/showproblem.php? ...
- Problem H: 小火山的围棋梦想 多校训练2(小火山专场)
题目链接:http://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1908 题意:如果'.'被'*'围起来,就把'.'变为'*'. 分析:如果是'*'直接输出, ...
- Problem A: 小火山的跳子游戏 多校训练2(小火山专场)(周期)
题目链接:http://acm.zzuli.edu.cn/zzuliacm/problem.php?cid=1158&pid=0 zzuli 1905 题意:如果k=1的话是1,2,3,4. ...
- 【2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest D】---暑假三校训练
2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest D Problem D. Distribution in Metagonia Input ...
- 【2016多校训练4】Multi-University Training Contest 4
1001 Another Meaning 题意:字符串A中包含的字符串B可以翻译或不翻译,总共有多少方案. 题解:动规,dp[i]表示A的第i位为止有多少方案. 转移方程: dp[i]=dp[i-1 ...
随机推荐
- chapter 13_0 元方法
通常,Lua中的每个值都有一套预定义的操作集合. 例如:可以将数字相加.可以连接字符串.可以在table中插入一对key-value等. 但是无法将两个table相加,无法对函数作比较,或无法调用一个 ...
- vmware虚拟机如何安装ubuntu14.10系统
vmware虚拟机安装ubuntu14.10系统安装步骤如下:
- Tomcat7调优及JVM性能优化for Linux环境
标签: tomcat7 jvm 性能 分享到: 出处:http://www.iteye.com 该优化针对Linux X86_X64环境 1. Tomcat优化其实就是对server.xml优化(开户 ...
- Linux内核协议栈 NAT性能优化之FAST NAT
各位看官非常对不起,本文是用因为写的,如果多有不便敬请见谅 代码是在商业公司编写的,在商业产品中也不能开源,再次抱歉 This presentation will highlight our ef ...
- HTML+CSS D09 定位
1.定位 (1)相对定位 如果对一个元素进行相对定位,它将出现在它所在的位置上.然后,可以通过设置垂直或水平位置,让这个元素“相对于”它的起点进行移动. #box_relative { positi ...
- do循环的100米自由落体
#include "stdio.h" void main() { float h=100.0,sum=100.0; ; do { sum=sum+h; h=h/; g++; }); ...
- 2016年7款最流行的Java框架
虽然Java一直被唱衰,但是直到现在Java也坚持霸主地位不动摇,毫无疑问,Java是目前最热门的编程语言之一,所以我们为大家搜集了一些目前比较受欢迎的Java框架的消息. 根据RebelLabs对在 ...
- android抓日志
1. adb logcat -c 清楚以前的日志 adb logcat -s 过滤 adb logcat -s *:E adb logcat -v 指定输出的格式 adb logcat -v brie ...
- Java实现Redis持久化到数据库的关键方法
import java.util.Date; import java.util.Iterator; import java.util.Set; import redis.clients.jedis ...
- 运维必备:Oracle自备份精简教程(linux及win)
Oracle在linux环境下的自动备份 1.自动导出及历史文件删除脚本 su - oracle<<EOF cd /db_backup/databak mv orabak*.* /db_b ...