描述 Description | ||
宿舍里好多好多有趣的事! 7890653今天看到不知何时流行的五子棋,在宿舍里拿个本子,画一些格子,一个棋盘就做好了! 当7890653把目光放到棋上,突发奇想,呵呵!一个题目就出来了! 在一个 5*5 的棋盘内,放上n颗棋子,其中(5<=n<=25); 这n颗棋子可以不同的放到任何一个地方---在棋盘内!于是呼,便会有五颗棋子排成一行, 或一列,或两条对角线,不同的放法,就会出现多少排五子的排列! 本题你要做的是,给你一个n,你找出不同放法出现的排列(设为k),如: n=11; 有(1是棋子,0是空格) 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 k=2; 0 0 0 0 0 k=1; 只有这两种k值,(注意k不重复),你要输出的便是k值的和。 也就是1+2=3!!!!!! |
输入格式 Input Format | ||
输入一个数n, 占一行! 其中(5<=n<=25); |
输出格式 Output Format | ||
输出一个k值的总和!(想也不用想k的范围是1<=k<=12的);
|
这题除了打表还有什么算法额
HELP!!!
这是打表的超降RP的程序...
#include<iostream>
using namespace std;
int main(){
int n;
int i;
int a[27]={0,0,0,0,0,1,1,1,1,3,3,3,6,6,10,10,15,21,21,28,28,35,30,30,27,12};
cin>>n
cout<<a[n];
return 0;
}