HDU4704-杭电多校第十场1009签到
来源:互联网 发布:安卓版微信清僵尸软件 编辑:程序博客网 时间:2024/06/07 10:19
题目:题目链接
题意:
最后的实质就是求2的n-1次方
费马小定理:
2^N == 2^(N%1e9+6) % 1e9+7;
直接套公式:
签到:
#include <iostream>#include <cstdio>#include <string>#include <string.h>#include <map>#include <vector>#include <cstdlib>#include <algorithm>#include <cmath>#include <queue>#include <set>#include <stack>#include <functional>#include <fstream>#include <sstream>#include <iomanip>#include <numeric>#include <cassert>#include <bitset>#include <stack>#include <ctime>#include <list>#define max3(a,b,c) (max(a,b)>c?max(a,b):c)#define min3(a,b,c) (min(a,b)<c?min(a,b):c)#define mem(a,b) memset(a,b,sizeof(a))using namespace std;int gcd(int n,int m){ if(n<m) swap(n,m); return n%m==0?m:gcd(m,n%m);}int lcm(int n,int m){ if(n<m) swap(n,m); return n/gcd(n,m)*m;}const int N = 100001;int prime[N];struct node{ int x, y;};bool cmp(const node & a, const node & b){ return a.x > b.x;}void getPrime();void bash();void wzf();void SG();const __int64 MODM = 1e9 + 7;const __int64 MODZ = 1e9 +6;__int64 QuickMod(__int64 a,__int64 b){ __int64 r = 1; while(b) { if(b&1) r = (r*a)%MODM; a = (a*a)%MODM; b >>= 1; } return r;}char num[N];int main(){ while(scanf("%s", num) != EOF) { int len = strlen(num); __int64 ans = 0; for(int i = 0; i < len; ++i) { ans = ans*10 + (num[i]-'0'); ans %= MODZ; } printf("%I64d\n", QuickMod(2, ans-1)); } return 0;}void getPrime(){ memset(prime, 0, sizeof(prime)); prime[0] = 1; prime[1] = 1; for(int i = 2; i < N; ++i) { if(prime[i] == 0) { for(int j = i+i; j < N; j+=i) prime[j] = 1; } }}void bash(int n, int m){ if(n%(m+1) != 0) printf("1\n"); else printf("0\n");}void wzf(int n, int m){ if(n > m) swap(n, m); int k = m-n; int a = (k * (1.0 + sqrt(5.0))/2.0); if(a == n) printf("0\n"); else printf("1\n");}int numsg[N];void SG(int n){ int sum = 0; for(int i=0; i < n; i++) { scanf("%d",&numsg[i]); sum ^= numsg[i]; } if(sum == 0) printf("No\n"); else { printf("Yes\n"); for(int i = 0; i < n; i++) { int s = sum ^ numsg[i]; if(s < num[i]) printf("%d %d\n", numsg[i], s);//从有num[i]个石子的堆后剩余s个石子 } }}
虽说是签到题,也比较水啊.....
- HDU4704-杭电多校第十场1009签到
- HDU4705-杭电多校第十场1010
- HDU4696-杭电多校第十场1001
- HDU4699-杭电多校第十场1004
- 2013多校第10场第9题--HDU4704
- HDU4701-杭电多校第十场1006-博弈
- 多校第十场 1009 Sum
- 2017杭电多校联赛第三场-RXD's date (hdu6066)签到水题
- 2017杭电多校第七场1011 Kolakoski(签到题)HDU 6130
- 多校第十场
- hdu6180Schedule(第十场贪心)
- HDU4704 Sum
- 多校第十场1009 CRB and String题解
- 多校比赛第十场
- 多校联赛第十场
- Multi-university 第十场 经验总结
- SDUT 趣味循环赛第一场 签到题题解
- 签到
- 1. include和前置声明的使用
- Sublime Text 2使用:如何为它添加编译环境(如Lua编译环境)和代码片段
- 改造CreateDirectory函数,创建多层目录
- 最封闭的开源系统,话说Android的八宗罪
- 判断链表是否存在环和判断两个链表是否相交
- HDU4704-杭电多校第十场1009签到
- 第一章 程序设计原理
- 18. 持续学习
- HDU4112
- CSS实现无图片带箭头的DIV方框
- S3C6410的JPEG解码
- Circuit Board(zju1648,判断线段相交)
- C++学习
- cocos2d-html5编程过程中运用的几大工具