多米诺骨牌
来源:互联网 发布:java构造方法有几种 编辑:程序博客网 时间:2024/05/16 08:42
多米诺骨牌
Time Limit:10000MS Memory Limit:65536K
Total Submit:233 Accepted:76
Case Time Limit:1000MS
Description
Input
输入文件的第一行是一个正整数n(1≤n≤1000),表示多米诺骨牌数。接下来的n行表示n个多米诺骨牌的点数。每行有两个用空格隔开的正整数,表示多米诺骨牌上下方块中的点数a和b,且1≤a,b≤6。
Output
输出文件仅一行,包含一个整数。表示求得的最小旋转次数。
Sample Input
46 11 51 31 2
Sample Output
1
Source
elba
var i,j,k,k1,k2,n:longint; a,b,f:array[-100000..100000]of longint; function min (a,b:longint):longint; begin if a<b then exit(a); exit(b); end; function max (a,b:longint):longint; begin if a<b then exit(b); exit(a); end; procedure init; var i:longint; begin read(n); for i:=1 to n do begin readln(a[i],b[i]); k1:=k1+a[i]; k2:=k2+b[i]; k:=k+max(a[i],b[i]); end; end; procedure work; begin fillchar(f,sizeof(f),100); f[k1-k2]:=0; for i:=1 to n do begin if a[i]>b[i] then for j:=-k to k do f[j]:=min(f[j],f[j+2*(a[i]-b[i])]+1); if a[i]<b[i] then for j:=k downto -k do f[j]:=min(f[j],f[j+2*(a[i]-b[i])]+1); end; for i:=0 to k do begin if f[i]<>f[-10000] then break; if f[-i]<>f[-10000] then break; end; writeln(min(f[i],f[-i])); end;begin init; work;end.
0 0
- 多米诺骨牌
- 多米诺骨牌
- 多米诺骨牌
- 多米诺骨牌
- 多米诺骨牌
- 多米诺骨牌
- 多米诺骨牌
- 多米诺骨牌
- 基础的多米诺骨牌
- 多米诺骨牌 DOMINO
- 【递推】多米诺骨牌
- FZU 2163 多米诺骨牌
- 多米诺骨牌 单调栈
- DFS:多米诺骨牌游戏
- ACM 多米诺骨牌游戏
- [Tyvj 2199]多米诺骨牌
- 洛谷 1282 多米诺骨牌
- 算法练习:多米诺骨牌
- Unity自带NavMesh寻路组件及摄像机跟随主角
- How to create a new Pull Request (PR) in Github
- PCA的数学原理(非常值得阅读)!!!!
- tensorflow笔记:使用tf来实现word2vec
- web下载数据成Excel文件时中文乱码
- 多米诺骨牌
- spring boot Activitymq topic与 queue 并存实现方案
- ssh
- 整数类型和进制转换_编程中会遇到的L问题
- 图--1.广度优先搜索和深度优先搜
- 2017工作经验【序章 -- 求职+面试】
- java学习笔记1-thinking in java
- camera2自定义相机,拍取矩形框内照片
- Linux面试题集锦一