摘要:
#include #include using namespace std;int f(int n, int A, int B){ if(n==1) return 1; else if(n==2) return 1; else return (A * f(n - 1, A, B) + B * f(n - 2, A, B)) % 7;}int main(){ for(int i=1; i<50; ... 阅读全文
摘要:
#include int main(){ freopen("read.txt", "w", stdout); for(int j=0; j<=1000000000; j+=100) { int tp = j; int seat = 1; int all = 0; while(tp) { all += tp%10 * seat; seat *= 2; tp ... 阅读全文
摘要:
#include #include #include using namespace std;#define INF 0xfffff //因为为了辨别是否有负权,所以INF不能开太大#define MAX 1100int path[MAX][MAX];bool visit[MAX][MAX];int result;int floyd (int n) //边较为... 阅读全文
摘要:
#include #include #include #include #include #include #include #include using namespace std;#define Goal_dfs 2#define MAX 300int map[MAX][MAX];bool visit[MAX][MAX]; // 访问标记int dir[4][2] = {0, 1... 阅读全文
摘要:
/***********************************************************************************************注意相应权值不能为负,且时间复杂度较高算法步骤如下: 1. 初始时令 S={V0},T={其余顶点},T中顶点对应的距离值 若存在,d(V0,Vi)为弧上的权值 若不存在,d(V0,Vi)为∞ 2. 从T中选... 阅读全文
摘要:
#include #include #include #include #include using namespace std;void RGB2HSV(double R, double G, double B, double &H, double &S, double &V){ // r,g,b values are from 0 to 1 // h = [0,360], s =... 阅读全文
摘要:
#include using namespace std;char map[10][10];int n;int sum;int judge(int k) //判断该点能否放置大炮{ int x = k / n; int y = k % n; int i; for(i=y; i>=0; i--) //从该点往左找 { if(map[x][i] == 'X') { break; } if... 阅读全文
摘要:
#include #include using namespace std;int N, M, T, sx, sy, ex, ey; //sx,sy起点坐标 ex,ey终点坐标char map[6][6];const int dir[4][2] = { { 0, 1 }, { 1, 0 }, { 0, -1 }, { -1, 0 } };bool solved = false, ... 阅读全文
摘要:
/**********************************************************************************hdu 1045 Fire Net这题意思是给出一张图,图中'X'表示wall,'.'表示空地,可以放置blockhouse同一条直线上只能有一个blockhouse,除非有wall隔开,问在给出的图中最多能放置多少个blockho... 阅读全文
摘要:
#includeusing namespace std;#define max 10010int c1[max],c2[max]; //c1存结果,c2存临时处理数据//Y=(1+x+x^2+x^3+x^4…+x^n1*1)*(1+x^2+x^4+x^6…x^n2*2)*(1+x^5+x^10+…x^n3*5)int main(){ int num[3]; int val[] = {1, ... 阅读全文
摘要:
#include #include #include #include using namespace std;#define mark student#define que solvestruct student{ int solve; int time; int grade; int set;};int cmp(const void *a, const void *b ){ if((*(stu... 阅读全文
摘要:
#include #include /*合九法:如果把一个大数的各位数字相加得到一个和,再把这个和的各位数字相加又得一个和,再继续作数字和,直到最后的数字和是个位数为止,这最后的0-9中的一个数称为最初那个数的“数字根”。如39,先是3+9=12, 不是单数则再加为1+2=3.所以3为39的数根这个数字根等于原数除以9的余数。如39%9=3.成立注意如果是9的数根因为除以9的余数为0,要特殊考虑。... 阅读全文
摘要:
#include #include #include #include #include #include #include #include #include #include #define INF 1000000001 //最大值要合理否则会超内存的using namespace std;int f[11000];int val[1100];int weight[1100];int... 阅读全文
摘要:
#include #include #include using namespace std;int lowbit(int x) //make sure the set of the array 求最小幂2^k{ return x&(-x);}int sum(int end ,int all[]) //solve sum 求前n 项和{ int sum=0; while(end > ... 阅读全文
摘要:
#include #include #include #include using namespace std;struct data{ char str[10]; int r_num, r_set;};int main(){ //freopen("read.txt", "r", stdin); int n; while(~scanf("%d", &n) && n!=0) { data num[... 阅读全文
摘要:
#include #include #include #include #include #define MAX(a,b) a>b? a:busing namespace std;int in[30]={2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 10... 阅读全文
摘要:
#include /*算法:初始化把每个点所在集合初始化为其自身。通常来说,这个步骤在每次使用该数据结构时只需要执行一次,无论何种实现方式,时间复杂度均为O(N)。查找查找元素所在的集合,即根节点。合并将两个元素所在的集合合并为一个集合。通常来说,合并之前,应先判断两个元素是否属于同一集合,这可用上面的“查找”操作实现。*/int father[1100], total;void join(int... 阅读全文
摘要:
#include #include #include #include #include #include #include using namespace std;int num[2010];int two[2010];int dp[2010];int main(){ //freopen("read.txt", "r", stdin); int T; cin >> T; while(T--)... 阅读全文
摘要:
#include #include #define SIZE 1100#define INF 0x7fffffffint map[1100][1100], weight[1100], pre[1100], length, point; bool sign[1100];void prim(int weight[],int map[][SIZE], int pre[], bool sign[], ... 阅读全文
摘要:
#include #include using namespace std;#define INF 999999#define MAX 11000int dist[MAX], pre[MAX], path[MAX][MAX], sum, tax[MAX];bool sign[MAX];void initialize(int n) //初始化{ //sum = 0; for(int i=1; i... 阅读全文