向前走莫回头❤

【openjudge 计算概论(A)】[函数递归练习(4)]

#include<cstdio>
#include<string>
#include<cstring>
#include<iostream>
using namespace std;
string s1,s2;
int main()
{
    int i,len;
    cin>>s1;
    len=s1.length();
    for (i=1;i<=len;i++)
     s2+=s1[len-i];
    if (s1==s2)
      printf("1\n");
     else printf("0\n");
    return 0;
}


#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define MAXN 100
using namespace std;
bool a[MAXN],b[MAXN],c[MAXN],d[MAXN];
bool map[MAXN][MAXN];
int ans;
void dfs(int num,int x)
{
    if (num==8)
    {
        ans++;
        printf("No. %d\n",ans);
        for (int i=1;i<=8;i++)
        {
            for (int j=1;j<=8;j++)
                printf("%d ",map[i][j]);
            printf("\n");
        }
        return;
    }
    for (int i=1;i<=8;i++)
    {
        if (!a[x]&&!b[i]&&!c[i+x]&&!d[i-x+8])
        {
            a[x]=1;
            b[i]=1;
            c[i+x]=1;
            d[i-x+8]=1;
            map[i][x]=1;
            dfs(num+1,x+1);
            a[x]=0;
            b[i]=0;
            c[i+x]=0;
            d[i-x+8]=0;
            map[i][x]=0;
        }
    }
}
int main()
{
	//freopen("int.txt","w",stdout);
   dfs(0,1);
}


#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int a,b;

inline void check(int a,int b,int t)
{
    if (!(a%b)||a/b>=2) 
      { if (t==1)
          printf("win\n"); 
         else printf("lose\n");
        return;}
    if (a<b) swap(a,b);
    t^=1;
    check(b,a-b,t);
    return;
}
int main()
{
    int i;
    while((scanf("%d%d",&a,&b)==2)&&a&&b)
     {
        if (a<b) swap(a,b);
        if (!(a%b)||a/b>=2) {printf("win\n");continue;}
        check(b,a-b,0);
     }
    return 0;
}


posted @ 2016-10-20 10:25  lris0-0  阅读(84)  评论(0编辑  收藏  举报
过去的终会化为美满的财富~o( =∩ω∩= )m