125-盗梦空间 内存限制:64MB 时间限制:3000ms 特判: No 通过数:8 提交数:10 难度:2 题目描述: <盗梦空间>是一部精彩的影片,在这部电影里,Cobb等人可以进入梦境之中,梦境里的时间会比现实中的时间过得快得多,这里假设现实中的3分钟,在梦里就是1小时. 然而,Cobb他们利用强效镇静剂,可以从第一层梦境进入第二层梦境,甚至进入三层,四层梦境,每层梦境都会产生同样的时间加速效果.那么现在给你Cobb在各层梦境中经历的时间,你能算出现实世界过了多长时间吗? 比如,Cob…
这题目看一眼以为难度评级出错了,只是一个求余数的题目,,后来才发现,位数小于百万位,,,我还以为是大小小于百万呢,所以借鉴了另一大神的代码, 用大数,重点是同余定理: (a+b)mod m=((a mod m)+(b mod m))mod m; a*b mod m=(a mod m)*(b mod m) mod m; a^b mod m=(a mod m)^b mod m; #include<stdio.h> #include<string.h> #include<stdli…
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAssAAANLCAIAAAA4rUfgAAAgAElEQVR4nOydq7LdyrKm+yXM/SDG4y…
122-Triangular Sums 内存限制:64MB 时间限制:3000ms 特判: No 通过数:5 提交数:7 难度:2 题目描述: The nth Triangular number, T(n) = 1 + … + n, is the sum of the first n integers. It is the number of points in a triangular array with n points on side. For example T(4): X X X X…
#include<stdio.h> struct AC { int x,y; }a[1000004]; int main() { int i,j,k=0;a[125].x=1,a[521].y=1; for(i=0; i<1000003; i++) { int c[3]={0}; if(i%10==5||i%100/10==5||i%1000/100==5||i%10000/1000==5||i%100000/10000==5||i%1000000/100000==5) c[2]=1;…
最初的第一印象是和组合数一个性质的题目.所以用了回溯法,结果,你懂的... #include<stdio.h> #include<math.h> void dfs(int n,int d,int num[]); int k=0; int max=0; int main(){ while(scanf("%d",&k)!=EOF){ int num[57]={0}; num[1]=1; dfs(1,1,num); printf("%d\n"…
#include<iostream> #include<string> #include<stack> #include<cstdio> using namespace std; stack<double>sn; stack<char>sc; double num, des, dou; bool prt, flag; int t, len; string str; bool isNum(char c) { if(c >= '0'…
守恒法的问题,表示,刚刚看了一点点 #include <iostream> #include <cstring> #include <cstdio> #include <algorithm> using namespace std; int main() { int T, n; bool flag; int num[10005]; int ans[10005]; int sux[10005]; int sum[10005]; cin>>T; wh…
php是一种弱类型的脚本语言,一般情况下字符串型的数字可以直接参与运算. 但是当字符串开头是实体空格的时候系统会默认字符串等于0. 此问题比较隐蔽,在此记录下…
人生中第一个AC的广搜题目,喵呜,C++的STL果真不错, #include<stdio.h> #include<queue> #include<string.h> #include<windows.h> using namespace std; bool visited[100][100][100]; int a, b, c; struct Node{ int a; int b; int c; int s; }; Node water; Node cup;…
地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=102 //a^b mod c=(a mod c)^b mod c很容易设计出一个基于二分的递归算法. #include<stdio.h> #include<stdlib.h> //快速幂算法,数论二分 long long powermod(int a,int b, int c) //不用longlong就报错,题目中那个取值范围不就在2的31次方内 { long long t;…
NO.1 单纯的傻傻的代码: #include<stdio.h> long long num[100000005]={0}; int main(){ int n, m, k; scanf("%d%d",&n,&m); while(n--){ scanf("%d",&k); num[k]++; } while(m--){ scanf("%d",&k); if(num[k]!=0) printf("…
#include<stdio.h> #include<string.h> int len, n, i, j; int d[100005], a[100005]; int binsearch(int x) { int l = 1, r = len, mid; while (l <= r) { mid = (l + r) >> 1; if (d[mid-1] <= x && x < d[mid]) return mid; else if (…
#include<stdio.h> #include<stdlib.h> #define max(x,y) x>y?x:y #define MAXX 100005 int num[MAXX] = {0}; int mum[MAXX] = {0}; int sum[2][MAXX] = {0}; int comp ( const void *a, const void *b ) { return * ( int * ) a - * ( int * ) b; } int main…
#include<cstdio> #include<cstring> #include<vector> using namespace std; int pre[100005]; vector<int>v[100005]; void DFS(int cur) { for(int i = 0; i < v[cur].size(); ++i) { if(pre[v[cur][i]]) continue; //若存在父节点则继续遍历 pre[v[cur][i…
#include<stdio.h> void dfs(int step,int x,int y); int d[4][2] = {{1,0},{-1,0},{0,1},{0,-1}}; int mg[9][9]={1,1,1,1,1,1,1,1,1, 1,0,0,1,0,0,1,0,1, 1,0,0,1,1,0,0,0,1, 1,0,1,0,1,1,0,1,1, 1,0,0,0,0,1,0,0,1, 1,1,0,1,0,1,0,0,1, 1,1,0,1,0,1,0,0,1, 1,1,0,1,0…
这道题目就是,找规律,小学奥数,找规律不难吧, #include<stdio.h> int sc(int x); int main(){ int n=0; int num,cs,k; scanf("%d",&n); while(n--){ scanf("%d",&num); k=(sc(num)-1)*sc(num)*0.5; cs=num-k; if(sc(num)%2==0){ printf("%d/%d\n",c…
典型的大数题目,这只是大数的比较,到时还有大数加减乘除,更加还有乘方,对于大数,一般用数组或者字符串,因为其他的结构类型一般都没有那么大 的范围!! 这道题目需要你仔细回想怎么比较俩个数字的大小,考虑各种情况.例如:符号的不同,位数的不同等, #include<stdio.h> #include<string.h> int pd(char s1[],char s2[]); int main(){ char int1[1100]; char int2[1100]; int len1,…
#include<stdio.h> int main() { long x,y; char op; int t; scanf("%d ", &t); while (t--) { scanf("%x%c%x", &x, &op, &y); if (op == '+') printf("%o\n", x+y); else printf("%o\n", x-y); } return 0;…
#include<stdio.h> #include<string.h> #define max(x,y) x>y?x:y struct apple { int c; int w; }app[1001]; int main() { int i,n,v,j; while(scanf("%d%d",&n,&v)&&(n||v)) { int sum[1001]={0}; for(i=0;i<n;++i) scanf(&qu…
DFS算法: #include<stdio.h> #include<math.h> void find(int k,int w); int num[23]={0}; int min=20001; int n,max=0; void find(int k,int w){ int sum=(int)fabs(max-w-w); if(k==n)return; if(sum<min)min=sum; find(k+1,w+num[k]); find(k+1,w); } int ma…
#include<stdio.h> int main(){ long long a,b,c,d,e,f; while(scanf("%lld%lld%lld%lld%lld%lld",&a,&b,&c,&d,&e,&f)!=EOF){ if(a*c*e*b*d*f==0){ if(d==0)printf("Hermione"); else{ if(c==0)printf("Ron");…
#include<stdio.h> int num[100]; int pnum(int n,int v); int mv=0; int main(){ int n,v; scanf("%d %d",&n,&v); mv=v; pnum(n,v); return 0; } int pnum(int n,int v){ int i; if(v==0){ for(i=mv ;i>0;i--){ printf("%d",num[i]);…
这题目是小学奥数题目,方法可以百度到,但是,有个难点就是,数据类型大小不够,如果是1000x1000的矩阵,那么就会超过int的范围,所以,就引进了long long的数据类型 #include<stdio.h> int main(){ long long n,m,max; while(scanf("%lld %lld",&n,&m)!=EOF){ n=(n+1)*n/2; m=(m+1)*m/2; max=n*m; printf("%lld\n&…
#include<stdio.h> #include<string.h> char str[210]; int max[210][52]={0}; int sum(int n,int m); int main(){ int i,k,n,m; max[1][0]=1; max[0][0]=1; for(i=0;i<201;i++) sum(i,i+1); scanf("%d",&n); while(n--){ scanf("%s"…
#include<stdio.h> struct apple{ int m; int v; }app[1010]; int money(int i,int v); int main(){ int n,v; int x,y,z; while((scanf("%d%d",&n,&v))&&(n||v)){ for(x=0;x<n;x++){ scanf("%d %d",&app[x].v,&app[x].…
#include <stdio.h> int main(){ int num[101]={0}; int result[21]={0}; int sum[101][21]={0}; int n,i,j,m,k; for(i=1;i<101;++i){ num[i]=i;} for(i=2;i<101;++i){ for (j=1;j<i-1;++j){ if (num[i]%num[j]==0){ num[i]/=num[j];}}} result[1]=1; m=1; fo…
作为菜鸟一枚,对子串和的代码完全就是硬算 的..结果是TLE #include<stdio.h> int jh(int x,int y,int num[],int sum[]); int idea[1000][1000]={0}; int main() { int num[1001]; int sum[1001]; int n,m,k=0; int x,y,z; int max=0; scanf("%d",&n); while(n--){ scanf("%…
#include<stdio.h> #include<string.h> #define N 1010 #define max(x,y) x>y?x:y int dp(); char s1[N]; char s2[N]; int main(){ int n; scanf("%d",&n); while(n--){ scanf("%s",s1); scanf("%s",s2); printf("%d\…
#include<stdio.h> int num[100]; int pnum(int n,int v); int mv=0; int main(){ int n,v; scanf("%d %d",&n,&v); mv=v; pnum(n,v); return 0; } int pnum(int n,int v){ int i; if(v==0){ for(i=mv ;i>0;i--){ printf("%d",num[i]);…