摘要:面对这种题,自己是一点思路也没有,只好看别的大神的代码了,看了很多,感到转载的这个思路很简单很赞http://blog.csdn.net/heaven13483/article/details/8284572Problem Description du熊这几天使劲的往一个n 行n列的矩阵填0和1这两个数字,n为偶数,而且矩阵由里向外分成了n / 2层。比如n = 6时,矩阵的分层如下: du熊填数时有一个要求:不能存在两个相邻的1,且位于不同的层(这里的相邻指两格子共用一条线)。 请你帮du熊计算一下有多少种填法。Input 输入包含多组测试数据,每组数据包含一个偶数n (2 <= n
阅读全文
摘要:题意很明确,先求出一段循环节,再对这段数求出n,一开始我用的vector来求,可是忘记了内存问题,参考了别人的代码,才发现了问题,真是惭愧,向大神们致敬,重新写的一个#include<iostream>#include<string>#include<fstream>using namespace std;int vis[100], n,num,p;void cnt(int x, int y){ vis[0] = x; vis[1] = y; for(int i = 2; i <= 100; i++) { int nexta = vis[i-1]+vi
阅读全文
摘要:原文见:http://soft.chinabyte.com/database/492/11818992.shtml1.把C++当成一门新的语言学习(和C没啥关系!真的。);2.看《Thinking In C++》,不要看《C++变成死相》;3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出
阅读全文
摘要:日期处理,理清关系大致题意:13号又是一个星期五。13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数。给出N年的一个周期,要求计算1900年1月1日至1900+N-1年12月31日中十三号落在周一到周日的次数,N为正整数且不大于400.这里有一些你要知道的:1、1900年1月1日是星期一.2、4,6,11和9月有30天.其他月份除了2月都有31天.闰年2月有29天,平年2月有28天.3、年份可以被4整除的为闰年(1992=4*498 所以 1992年是闰年,但是1990年不是闰年).4、以上规则不适合于世纪年。可以被400整除的世纪年为闰年
阅读全文
摘要:#include<iostream>#include<string>#include<fstream>using namespace std;int main(){ string ufo,teme; int sum,sum1; ifstream cin("in.txt"); while(cin>>ufo>>teme) { sum = 1; sum1 = 1; for(int i=0;i < ufo.size();i++) { sum *= (ufo[i]-64); } for(int i=0;i < t
阅读全文
摘要:题意是让求给定一个天数的阶乘,看这个大数中有多少个dight;#include<iostream>#include<string>using namespace std;int flag[1000];int main(){ int N,day,digit,c,sum; cin>>N; while(N--) { memset(flag,0,sizeof(flag)); cin>>day>>digit; flag[0] = 1; sum = 0; for(int i=2;i<=day;i++) { c = 0; for(int j=
阅读全文
摘要:提交了N次,终于过了,原来是忘记N = 0时终止了;真心给跪了,看了很多大神写的代码,感觉不怎么好理解,自己写了一个就是间的广搜 注意剪枝,余数相同时就不再判断了16ms#include<iostream>#include<queue>using namespace std;queue<long long >vi;long long head; long long vis[500],N;void bfs(){ int k = 1; vi.push(k); while(!vi.empty()) { head = vi.front(); vi.pop(); if
阅读全文
摘要:问题不难,关键是看看自己处理字符串的能力了#include<iostream>#include<algorithm>#include<string>//#include<fstream>using namespace std;struct peo{ string name; string first; string last;};int bmp(peo a,peo b){ return a.first < b.first;}int bmp2(peo a,peo b){ return a.last > b.last;}peo str[5
阅读全文
摘要:#include<iostream>#include<algorithm>using namespace std;int num[1001];int main(){ int N,T; while(cin>>N) { for(int i=1;i<=N;i++) { cin>>T; for(int i=0;i<T;i++) { cin>>num[i]; } sort(num,num+T); for(int i=0;i<T;i++) { if(i != T-1) cout<<num[i]<<&quo
阅读全文
摘要:水题#include<iostream>#include<algorithm>using namespace std;int num[500],v;int main(){ int N,T; while(cin>>N) { for(int i=1;i<=N;i++) { cin>>T; for(int i=0;i<T;i++) cin>>num[i]; sort(num,num+T); for(int i=0;i<T;i++) { if(i == 1) v = num[i]; } cout<<v<&l
阅读全文
摘要:感觉基础不是很好,做些题练手吧题意很简单就不说了直接附代码一次水过,十分不喜欢这种繁琐的处理方式,希望大神有好的建议告诉我#include<iostream>#include<algorithm>using namespace std;int main(){ int N; int num[10005]; while(cin>>N) { for(int i=0;i<N;i++) cin>>num[i]; sort(num,num+N); if(N%2 == 1) { for(int i=0;i<N/2+1;i++) { if(i !=
阅读全文
摘要:很简单的#include<iostream>#include<string>using namespace std;int dec(int x,int y){ int k=1,sum1=0; while(x) { sum1 += (x%10)*k; x/=10; k*=y; } return sum1;} int main(){ int N,a,dex; long long int sum; while(cin>>N) { sum = 0; for(int i=1;i<=N;i++) { scanf("%d(%d)",&a,
阅读全文
摘要:花费了一下午做出了这道题,真有些伤人伤不起;题目描述在下面地址http://www.nputic.com/JudgeOnline/problem.php?id=1116题目不难理解,但我感觉真心不好做,处理关系时不会,通过这题对 map的用法用增加了一个层次;map 中输入和输出顺序不相同,所以利用vector来标记;#include<iostream>#include<vector># include <string># include <map>using namespace std;vector<string> vi;map&l
阅读全文
摘要:题目没什么好说的,自己对字符串的输入输出有些混,所以在用gets和 getchar两个输入时不知道该用哪个了,总结一下关于输入输出的方式cin 用法1.最基本的用法,输入一个数字2.接受一个字符串,遇到空格,“TAB” 回车都结束cin.get()的用法用法1: cin.get(字符变量名)可以用来接收字符#include <iostream>using namespace std;main (){char ch;ch=cin.get();//或者cin.get(ch);cout<<ch<<endl;}输入:jljkljkl输出:j用法2:cin.get(字
阅读全文