算法练习
cyxcw1
这个作者很懒,什么都没留下…
展开
-
八皇后的代码!多组解
#include using namespace std;bool hang(char xq[][9],int x) //行是否被攻击{ for(int u=0;u<8;u++) { if(xq[x][u]==*) break; } if(xq[x][u]==*) return false; else return true;}原创 2009-06-26 15:56:00 · 634 阅读 · 0 评论 -
Dual Palindromes(USACO)
/*ID:tianlin2PROG:dualpalLANG:C++*/#include #include #include using namespace std;bool ps(int n,int ary){ char a[]={0,1,2,3,4,5,6,7,8,9}; string b; while(原创 2010-02-21 19:10:00 · 452 阅读 · 0 评论 -
Milking Cows(USACO)
/*ID:tianlin2PROG:milk2LANG:C++*/#include #include using namespace std;int main(){ ofstream fout("milk2.out"); ifstream fin("milk2.in"); int be1[5000],end1[5000]; //a为奶牛数,b为原创 2010-02-21 12:56:00 · 872 阅读 · 0 评论 -
Transformations(USACO)
/*ID:tianlin2PROG:transformLANG:C++*/#include #include using namespace std;//相等bool six(char a[][11],char c[][11],int h){ int i,j; for(i=0;i!=h;++i) for(j=0;j!=h;++j) {原创 2010-02-21 13:18:00 · 775 阅读 · 0 评论 -
Calf Flac(USACO)
/*ID:tianlin2PROG:calfflacLANG:C++*/#include #include #include #include using namespace std;//判断是不是回文,顺便算长度,不是回文长度len则返回0int iscal(char *ben,char *end){ int len=0; char *b=b原创 2010-02-25 22:44:00 · 718 阅读 · 0 评论 -
Prime Cryptarithm(USACO)
/*ID:tianlin2PROG:crypt1LANG:C++*/#include #include using namespace std;bool ina(int a[],int cou,int dit){ //注意0的情况 if(dit==0) return false; while(dit!=0) { int c=dit%10;原创 2010-02-25 23:04:00 · 577 阅读 · 0 评论 -
Barn Repair(usaco)
/*ID:tianlin2PROG:barn1LANG:C++*/#include #include #include using namespace std;int dcmp(const void *va,const void *vb){ //注意是升序排列 return *((int *)vb)<*((int *)va)?1:-1;}int原创 2010-02-25 22:05:00 · 392 阅读 · 0 评论 -
Number Triangles(usaco)
/* ID:tianlin2 PROG:numtri LANG:C++*/ #include #include using namespace std;int nmtr[1000][1000];int d[1000][1000];int max(int a,int b,int i1,int j1,int i2,int j2,int row){ if(i1=row) a=0;原创 2010-08-06 11:46:00 · 674 阅读 · 0 评论 -
Prime Palindromes(usaco)
/* ID:tianlin2 PROG:pprime LANG:C++*/ #include #include #include using namespace std;int ispalin(int a[],int n){ for(int i=0,j=n-1;i<j;++i,--j) if(a[i]!=a[j]) return 0; return 1;}int i原创 2010-08-06 11:47:00 · 438 阅读 · 0 评论 -
the clocks(usaco)
/* ID:tianlin2 PROG:clocks LANG:C++*/ #include #include #include #include #define MAX 262150using namespace std;ifstream fin("clocks.in");ofstream fout("clocks.out");class node{public:原创 2010-08-06 11:42:00 · 614 阅读 · 0 评论 -
Superprime Rib(usaco)
/* ID:tianlin2 PROG:sprime LANG:C++*/ #include #include #include using namespace std;int n;ofstream fout("sprime.out");int isprm(int a){ if(a<2) return 0; int j=2; while(j<=sqrt((double原创 2010-08-06 11:48:00 · 562 阅读 · 0 评论 -
Mother's Milk(usaco)
/* ID:tianlin2 PROG:milk3 LANG:C++*/ #include #include #include using namespace std;class node{public: int curcommand[3]; int curstate[3];};int states[21][21][21]={0};int mycount=0;int原创 2010-08-06 11:45:00 · 587 阅读 · 0 评论 -
Arithmetic Progressions(usaco)
/* ID:tianlin2 PROG:ariprog LANG:C++*/ #include #include #define MAX 125020using namespace std;int total=0;ifstream fin("ariprog.in");ofstream fout("ariprog.out");class assd{public: int原创 2010-08-06 11:44:00 · 603 阅读 · 0 评论 -
Packing Rectangles(USACO)
/* ID:tianlin2 PROG:packrec LANG:C++*/ #include #include #define INF 32768using namespace std;class rect{public: int x; int y; int area; rect() { x=0; y=0; area=0; } rect operat原创 2010-08-06 11:40:00 · 696 阅读 · 0 评论 -
Broken Necklace(USACO官方)
复杂度为O(n2):#include #include #include #define MAXN 400char necklace[MAXN];int len;/* * Return n mod m. The C % operator is not enough because * its behavior is undefined on negative numb转载 2010-02-21 11:50:00 · 1839 阅读 · 1 评论 -
Name That Number(USACO)
/*ID:tianlin2PROG:namenumLANG:C++*/#include #include #include #include using namespace std;int main(){ ofstream fout("namenum.out"); ifstream fin("namenum.in"); //m保存所对应名字的原创 2010-02-21 14:22:00 · 501 阅读 · 0 评论 -
Greedy Gift Givers(USACO)
/*ID:tianlin2PROG:gift1LANG:C++*/#include #include #include using namespace std;int main(){ ofstream fout("gift1.out"); ifstream fin("gift1.in"); int mo,ge; int a,b=0,c=0;原创 2010-02-20 15:02:00 · 416 阅读 · 0 评论 -
your ride is here(USACO)
/*ID:tianlin2PROG:rideLANG:C++*/#include #include #include using namespace std;int main(){ string a,b; ofstream fout("ride.out"); ifstream fin("ride.in"); int c=1,d=1;原创 2010-02-20 13:41:00 · 631 阅读 · 1 评论 -
利用堆栈解八皇后!
#includeusing namespace std;#define N 8 //改成8就是八皇后了class Queen{ friend int nQueen(int); private: void Print(int x[]); bool Place(int k); void Backtrack(int t);原创 2009-06-26 16:05:00 · 1180 阅读 · 0 评论 -
和第三题大同小异!
#include #include #include #include using namespace std;int main(){ char st[100],a,k,b[20],c[20]; int n,j=0,i,m,h[10]; ofstream out_file("e://sh.txt",ios::out); if(!out_file) exit原创 2009-06-26 16:17:00 · 843 阅读 · 0 评论 -
万年历!天!
#include #include using namespace std;bool runian(int x){ if(x%400==0||x%4==0&&x%100!=0) return true; else return false;}int main(){ int x,y,h,i,j=0; cout<<"请输入年份:"; cin>>h原创 2009-06-26 16:21:00 · 615 阅读 · 0 评论 -
第七题 长整数
#include #include using namespace std;int main(){ int a[100],i,m=0,n,x; cout<<"请输入长整数的位数:"; cin>>a[0]; cout<<"从高位到低位分别输入长整数的数字,每位以空格间隔:"; for(i=a[0];i>=1;i--) cin>>a[i]; for原创 2009-06-26 16:25:00 · 694 阅读 · 0 评论 -
迷宫?
这个没有仔细考虑过!算法也没想过!哎!、算法问题(任选一题)。 (1) 皇后问题:在国际象棋中,能否在空棋盘上摆放八个皇后,并使其中任意两个皇后 不能在同一行或同一列或同一对角线上,并编写完整的摆放八皇后问题的程序。要求: 第一个皇后的起始位置由键盘输入,国际象棋的棋盘为8*8 的方格。 (2) 迷宫问题,用数组方式实现一个迷宫。原创 2009-06-26 16:26:00 · 372 阅读 · 0 评论 -
小学生加减乘测试软件!
#include #include #include using namespace std;int main(){ int x,y,z,i,l,b,a,c=0; char h; cout<<"是否要进行测试?(y/n):"; cin>>h; //srand(time(null)); while(h==y) { do {cout<<原创 2009-06-26 16:12:00 · 862 阅读 · 0 评论 -
很恶心的一个关于字符串的题目!
#include #include #include using namespace std;int main(){ int n,c,i,j,h[10]; //n用来存储字符串长度,i j用来计数,h存放查找的字符串出现的位置 char st[100],s,z[20],x[20],m; //s在空格转换和判断是否是用到,m判断是用到,z x用来存放要查询的字原创 2009-06-26 16:14:00 · 783 阅读 · 0 评论 -
输入学生信息的!
#include using namespace std;class student{ int number; char name[10]; int computer,math,english,physics; public: bool eq(int n) { if(number==n) return true; else ret原创 2009-06-26 16:08:00 · 543 阅读 · 0 评论 -
螺旋矩阵!
#include #include using namespace std;int main(){ int i=0,j=0,a=1,u,n; int lx[100][100]; cout<<"请输入方阵的行列数:"; cin>>n; for(u=0;u<n/2;u++) { for(j=u;j<n-u;j++) { lx[i][j]=原创 2009-06-26 16:19:00 · 420 阅读 · 0 评论 -
第八题!
#include #include #include using namespace std;int main(){ int a[100],i,m=0,n,b[100],c[100],z; cout<<"请输入长整数的位数:"; cin>>a[0]; cout<<"从高位到低位分别输入长整数的数字,每位以空格间隔:"; for(i=a[0];i>=1;i原创 2009-06-26 16:23:00 · 404 阅读 · 0 评论 -
Palindromic Squares(USACO)
/*ID:tianlin2PROG:palsquareLANG:C++*/#include #include #include #include using namespace std;//貌似output函数是多余的,可以直接fout<<b;void output(ofstream &fout,string b){ for(int i=b.s原创 2010-02-21 19:01:00 · 551 阅读 · 0 评论 -
Friday the Thirteenth(USACO)
/*ID:tianlin2PROG:fridayLANG:C++*/#include #include using namespace std;bool runian(int year) //判断是不是闰年{ if(year%400==0||year%4==0&&year%100!=0) return tru原创 2010-02-20 18:51:00 · 423 阅读 · 0 评论 -
Broken Necklace(USACO)
/*ID:tianlin2PROG:beadsLANG:C++*/#include #include using namespace std;//若函数里要改变变量的值,需引用bool eq(char &x,char &y){ if(x==w&&y==b) return true; if(x==b&&y==w)原创 2010-02-21 10:23:00 · 565 阅读 · 0 评论 -
Mixing Milk(USACO)
/*ID:tianlin2PROG:milkLANG:C++*/#include #include #include using namespace std;typedef struct milk milk;struct milk{ int mon; int wei;};//最大农民数milk m[5000];int moncmp(c原创 2010-02-21 23:53:00 · 527 阅读 · 0 评论 -
N皇后问题的两个最高效的算法
N皇后问题是一个经典的问题,在一个N*N的棋盘上放置N个皇后,每行一个并使其不能互相攻击(同一行、同一列、同一斜线上的皇后都会自动攻击)。本文阐述快速解决N皇后问题的两个方法转载 2013-07-09 21:29:54 · 1161 阅读 · 0 评论