NYOJ 棋盘覆盖
数字很大,要用大数乘法。
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<queue>
#include<algorithm>
using namespace std;
char s1[];
char s2[];
char* bignum(char *num1, char *num2)
{
if(strcmp(num1,"")==)
return "";
int length1 = strlen(num1);
int length2 = strlen(num2);
int i, l;
char *res = (char *)malloc(sizeof(char)*(length1 + length2)); //开辟相应内存
memset(res, , sizeof(char)*(length1 + length2));
for (i = length1 - ; i >= ; i--)
for (l = length2 - ; l >= ; l--)
{
res[i + l + ] += (num1[i] - '')*(num2[l] - '');
res[i + l] += res[i + l + ] / ; //马上进行进位
res[i + l + ] %= ;
}
int count = ;
while (res[count] == ) //由于保存的结果是从右向左的,所以要消除左部分的0;
{
count++;
}
char* ret = (char *)malloc(sizeof(char)*(length1 + length2 + ));
memset(ret, , sizeof(char)*(length1 + length2 + ));
for (l = , i = count; i < length1 + length2; l++, i++) //非0部分赋给ret
{
ret[l] = res[i] + '';
}
//printf("Ret=%s\n", ret);
return ret;
free(res);
free(ret);
} int main()
{
int t;
cin>>t;
while(t--)
{
int k;
cin>>k;
strcpy(s1,"");
strcpy(s2,"");
//printf("%s\n",s1);
while(k--)
{
//printf("%s\n",s1);
strcpy(s1,bignum(s1,s2));
for(int i=strlen(s1)-;i>=;i--)
{
if(s1[i] == '')
{
s1[i] = ;
continue;
}
else
{
s1[i] = s1[i] + ;
break;
}
}
}
printf("%s\n",s1);
}
return ;
}
NYOJ 棋盘覆盖的更多相关文章
- NYOJ 45 棋盘覆盖 模拟+高精度
题意就不说了,中文题... 小白上讲了棋盘覆盖,于是我就挖了这题来做. 棋盘覆盖的推导不是很难理解,就是分治的思想,具体可以去谷歌下. 公式就是f(k) = f(k - 1) * 4 + 1,再化解下 ...
- NYOJ 45 棋盘覆盖
棋盘覆盖 水题,题不难,找公式难 import java.math.BigInteger; import java.util.Scanner; public class Main { public s ...
- bzoj 2706: [SDOI2012]棋盘覆盖 Dancing Link
2706: [SDOI2012]棋盘覆盖 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 255 Solved: 77[Submit][Status] ...
- 棋盘覆盖(大数阶乘,大数相除 + java)
棋盘覆盖 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 在一个2k×2k(1<=k<=100)的棋盘中恰有一方格被覆盖,如图1(k=2时),现用一缺角的 ...
- 棋盘覆盖(一) ACM
棋盘覆盖 描述 在一个2k×2k(1<=k<=100)的棋盘中恰有一方格被覆盖,如图1(k=2时),现用一缺角的2×2方格(图2为其中缺右下角的一个),去覆盖2k×2k未被覆盖过的方格,求 ...
- 棋盘覆盖问题(算法分析)(Java版)
1.问题描述: 在一个2k×2k个方格组成的棋盘中,若有一个方格与其他方格不同,则称该方格为一特殊方格,且称该棋盘为一个特殊棋盘.显然特殊方格在棋盘上出现的位置有种情形.因而对任何 k≥0,有4k种不 ...
- CODEVS 2171 棋盘覆盖
2171 棋盘覆盖 给出一张nn(n<=100)的国际象棋棋盘,其中被删除了一些点,问可以使用多少12的多米诺骨牌进行掩盖. 错误日志: 直接在模板上调整 \(maxn\) 时没有在相应邻接表数 ...
- 递归与分治策略之棋盘覆盖Java实现
递归与分治策略之棋盘覆盖 一.问题描述 二.过程详解 1.棋盘如下图,其中有一特殊方格:16*16 . 2.第一个分割结果:8*8 3.第二次分割结果:4*4 4.第三次分割结果:2*2 5.第四次分 ...
- JavaScript编写棋盘覆盖
一.前言 之前做了一个算法作业,叫做棋盘覆盖,本来需要用c语言来编写的,但是因为我的c语言是半桶水(哈哈),所以索性就把网上的c语言写法改成JavaScript写法,并且把它的覆盖效果显示出来 二.关 ...
随机推荐
- Log4j2 中format增加自定义的参数
首先收藏一下log4j2的官网:http://logging.apache.org/log4j/2.x/manual/plugins.html#TypeConverters 对于这种需要,可以使用lo ...
- Python下载安装
https://www.python.org/downloads/ https://www.editplus.com/ftp/epp510_1828.exe EditPlus 5.1
- spring整合Jersey 无法注入service的问题
现象: action中的@autowired注入service或dao失败,报空指针异常 原因: 造成该问题的原因是你并没有做好spring和jersey的整合工作,检查你的web.xml文件,jer ...
- STL之map学习实例
``` #include<iostream> #include<algorithm> #include<vector> #include<map> #i ...
- 有关 PHP 的 10 道问题
1.简述面向对象的三大特性 答:封装 -- 继承 -- 多态 封装的目的:为了让类更安全 继承的概念:子类可以继承父类的一切 多态的概念:当父类引用指向子类实例,由于子类里面对父类的方法进行了重 ...
- UIScrollView _getDelegateZoomView bug 经历
[UIScrollView _getDelegateZoomView] UIKit -[UIScrollView_offsetForCenterOfPossibleZoomView:withIncom ...
- hdu2609 How many【最小表示法】【Hash】
How many Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- Kindle2018 一周使用报告
使用2018年年末刚刚发布的KPW有一周时间了,可以借这个机会来对这部设备做一个使用报告了. 那咱们就参考如下描述吧: 1.轻薄便携:6英寸的屏幕,11.6厘米*16.7厘米的机身尺寸,加上仅有8.2 ...
- 命令配置linux分辨率
1. xrandr 使用该命令列举系统支持的分辨率 2. xrandr -s 回复原来的分辨率 3. xrandr -s 1360x768 设置分辨率 如果分辨率没能锁定,请在根目录使用gedit ...
- SSH 结构中 不同角色登录,显示不同的菜单
关于这个功能,这里也就是提供一个思路,在做项目的时候因为要用到,肯定存在更好的方法,此思路仅供参考. 一.关于前台页面的接收方式 这里使用struts2的标签: <s:iterator valu ...