摘要:
递推题,算下三角的可行方案然后乘2.每一步由上,左的最短可行方案转移过来.最左边只能从上面下来,为1,靠近斜线只能从左边过来.为f[i][i-1]#include #include "stdio.h"using namespace std;int main(){ __int64 a[36][36]; a[1][0] = 1; a[0][1] = 0; for(int i=1; i>n&&n!=-1) { printf("%d %d %I64d\n",num, n, 2 * a[n][n]); num++; } return ... 阅读全文
摘要:
#include #include using namespace std;int main(){ int T; while(cin>>T) for(int i=0;i>n; double ans = 0; for(int j=1;j(ans) + 1; cout<<x<<endl; } return 0;}任何数可表示成10^x把a1*a2*a3*a4变成 log10(a1)+log10(a2)+....然后算X的整数部分 阅读全文
摘要:
#include #include using namespace std;string add(const string &a,const string &b){ int dig = 0;//进位符 string a1,b1; if(a.size()>b.size()) { a1 = a; b1 = b; }else { a1 = b; b1 = a; } int clen = a1.size() - b1.size(); for (int i = 0; i = 0 ; i-... 阅读全文
摘要:
试过用模拟.模拟了100多,没发现50开始重复的规律...以后此类题可尝试小数据模拟,然后认真找找规律.如果这道题是数学方法,我就不会了..#include int f[49]={1,1,1};void t(int a,int b){ int i; for(i=3;i<49;i++) f[i]=(a*f[i-1]+b*f[i-2])%7;}void main(){ int i,n,a,b; while(~scanf("%d%d%d",&a,&b,&n)&&(a&&b&&n)) { t(a,b); 阅读全文
摘要:
#include #include using namespace std;int main(){ int n; while(cin>>n) { cout((pow((double)n,3)+5*n)/6+1)<<endl; } return 0;}别人的详解这道题要一步一步来的:(1) n条直线最多分平面问题题目大致如:n条直线,最多可以把平面分为多少个区域。析:可能你以前就见过这题目,这充其量是一道初中的思考题。但一个类型的题目还是从简单的入手,才容易发现规律。当有n-1条直线时,平面最多被分成了f(n-1)个区域。则第n条直线要是切成的区域数最... 阅读全文
摘要:
#include using namespace std;bool juge(int n,int *A,int *B,int *C){ if(n==0) return 1; if(B[0]&&B[0]==n) return 0; if(A[0]&&A[0]==n) return juge(n-1,++A,C,B); else if(C[0]&&C[0]==n) return juge(n-1,B,A,++C);}int main(){ int k,n; scanf("%d",&k); while(k--) ... 阅读全文
摘要:
#include #define MAX 27 int next[MAX]; int pre[MAX]; int f(int k){ int m; for(m=k+1;;m++) { //badGuys负责坏人的计数,pointer模拟指针在链表中移动 int badGuys=0,found=0,pointer; //初始化模拟双向链表的数组,总共2*k个人 next[2*k]=1; pre[1]=2*k; for(int i=1;i/*int x[] = { 2, 7, 5, ... 阅读全文
摘要:
Fibonacci 同项公式:求对数后:由于很小,所以可以忽略。log10 (Fibonacci [n] ) = -0.5 * log10(5.0) + ((double)n) * log10((sqrt(5.0) + 1.0) / 2.0);Fibonacci [n] ≈ pow (10.0,log10(Fibonacci [n] )) * 10^k。 这里,需要取多少位,用 K 控制。#include #include int main(){ int n,i; const int N=21; int f[N]={0,1}; for(i=2;i<N;i++) ... 阅读全文
摘要:
#include using namespace std;int f(int u,int v){ while(u%v) { int w=u%v; u=v; v=w; } return v;}int main(){ int t; while(cin>>t) { while(t--) { char a[15]; cin>>a; int p=0,q=0,t=0,x=0,y,k=1,l=1,max; for(int ... 阅读全文
摘要:
#include #include int main(){ int t,i; while(~scanf("%d",&t)) { for(i=0;i<t;i++) { long n; scanf("%ld",&n); double t=n*log10(n*1.0); t-=(__int64)t; int ans=pow(10.0,t); printf("%d\n",ans); } } ... 阅读全文
摘要:
//抛物线的顶点公式y=a(x-x1)^2+y1#include struct node{ double x; double y;};int main(){ node p1,p2,p3; int n; scanf("%d",&n); while(n--) { scanf("%lf%lf%lf%lf%lf%lf",&p1.x,&p1.y,&p2.x,&p2.y,&p3.x,&p3.y); // y=a*(x-h)^2+k double h=p1.x,k=p1.y; double a=(p2.y-k). 阅读全文
摘要:
#include#includeusing namespace std;int re[100];int main(){ int n,a,i,j,k,num,x,y,temp,tt; while(scanf("%d",&n) &&n) { num = 0,tt = 1; for(k =0; k 0 && y % 2 == 0){ for(i = 0; i <= 9; i ++){ if((x-i)%11 == 0){ ... 阅读全文
摘要:
#pragma warning (disable:4786)#include using namespace std;int gcd(int a,int b){ int ta=a,tb=b; while(ta) ta^=tb^=ta^=tb%=ta; return tb;}int main(){ int a,b,n; cin>>n; while(n--) { cin>>a>>b; int c=b*2; while(gcd(a,c)!=b) c+=b; cout<<c... 阅读全文
摘要:
#include #define max 1000001int prime[max];int main(){ int i,j,n=0; memset(prime,-1,sizeof(prime)); prime[1]=0; for(i=2;i<max;i++) { if(prime[i]==-1) { n++; for(j=i;j<max;j+=i) prime[j]=n; } } while(~scanf("%d",&n)) { ... 阅读全文
摘要:
#include #define Max 1<<15unsigned int p[Max]={2,3,5,7},top=4;bool IsPri[Max]={0,0,1,1,0,1,0,1};void get_primer(){ int n=1<<30,t=4,i,j; bool f; for(i=11;i<Max;) { f=0; for(j=0;j<top&&p[j]*p[j]<=i;j++) if(i%p[j]==0) {f=1;break;} if(!f) {p[top++]=i;IsPri[i]=... 阅读全文
摘要:
#include using namespace std;int solve(int a,int b){ int ta=a,tb=b; while(ta) ta^=tb^=ta^=tb%=ta; return a/tb*b;}int main(){ int a,b; while(cin>>a>>b) cout<<solve(a,b)<<endl; return 0;} 阅读全文
摘要:
#include #include using namespace std;//int t[4];int main(){// freopen("C://Users/destino74/Desktop/debug/test.txt","r",stdin);// freopen("C://Users/destino74/Desktop/debug/testout.txt","w",stdout); int a[5];bool f=0; while(cin>>a[0]>>a[1]>>a 阅读全文
摘要:
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1051#include #include using namespace std;struct wooden{ int len; int weg;};wooden wd[5005];bool cmp1(const wooden &a,const wooden &b){ if(a.len==b.len) return a.weg>T; for(k=0;k>n; for(i=0;i>wd[i].len>>wd[i].weg; sort(wd,wd+n,cm... 阅读全文
摘要:
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1052题意:田忌赛马,贪心#include#includeusing namespace std;int a[1010],b[1010];int main(){ int n,i; while(scanf("%d",&n)==1&&n) { a[0]=b[0]=0; for(i=1;ib[begin_b]) sum++,begin_a++,begin_b++; else if(a[begin_a]b[end_b]) sum++,end_a--,end_b--; 阅读全文