2014 Shanghai Invitation Contest

题目链接

http://acm.hdu.edu.cn/search.php?field=problem&key=2014%C9%CF%BA%A3%C8%AB%B9%FA%D1%FB%C7%EB%C8%FC%A1%AA%A1%AA%CC%E2%C4%BF%D6%D8%CF%D6%A3%A8%B8%D0%D0%BB%C9%CF%BA%A3%B4%F3%D1%A7%CC%E1%B9%A9%CC%E2%C4%BF%A3%A9&source=1&searchmode=source

A:思维题

  题意:给你n个数,Jerry可以任意对每个数进行操作,操作方法是对每个数加0,或者k的整倍数。问能不能让1---n这n个数每个数只出现一次。

#include<bits/stdc++.h>
using namespace std;
const int maxn = 105;
int a[maxn],cnt[maxn];
int T,n,k;
int main ()
{
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d%d",&n,&k);
        bool fg=1;
        memset(cnt,0,sizeof(cnt));
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
            if(a[i]>n)
                fg=0;
            if(fg)
                cnt[a[i]]++;
        }
        for(int i=1;i<=n&&fg;i++)//向后滚动
        {
            if(cnt[i]>1)
            {
                cnt[i+k]+=(cnt[i]-1);
                cnt[i]=1;
            }
        }
        for(int i=1;i<=n&&fg;i++)
        {
            if(cnt[i]!=1)
                fg=0;
        }
        if(fg)
            printf("Jerry\n");
        else
            printf("Tom\n");
    }
    return 0;
}

B:题意很好懂算法是,线段树+扫描线。

C:

D:放置战舰(二分图)

F:给出一个表达式的系数和变量,然后输出表达式。注意下面几个点1、第一个数、最后一个数。2、正负数。3、0,-1,1特判。4、如果全部为零,输出0。

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn=150;
char s[maxn]={'0','p','q','r','u','v','w','x','y','z','j'};//10;
int a[maxn];
int T,n,k;
int main ()
{
    scanf("%d",&T);
    while(T--)
    {
        for(int i=1;i<=10;i++)
            scanf("%d",&a[i]);
        bool fg=1,ok=1;
        for(int i=1;i<=10;i++)
        {
            if(a[i])
            {
                ok=0;
                if(fg)//第一个
                {
                    if(i!=10)
                    {
                        if(a[i]==1)
                        {
                            printf("%c",s[i]);
                        }
                        else if(a[i]==-1)
                        {
                            printf("-%c",s[i]);
                        }
                        else
                            printf("%d%c",a[i],s[i]);
                    }
                    else
                        printf("%d",a[i]);
                    fg=0;
                }
                else
                {
                    if(i!=10)
                    {
                        if(a[i]>0)
                        {
                            if(a[i]==1)
                                printf("+%c",s[i]);
                            else
                                printf("+%d%c",a[i],s[i]);
                        }
                        else
                        {
                            if(a[i]==-1)
                                printf("-%c",s[i]);
                            else
                                printf("%d%c",a[i],s[i]);
                        }
                    }
                    else
                    {
                        if(a[i]>0)
                            printf("+%d",a[i]);
                        else
                            printf("%d",a[i]);
                    }
                }
            }
        }
        if(ok)
            printf("0\n");
        printf("\n");
    }
    return 0;
}

 J:判断安卓手机型号的大小。注意:1、如果最后一个字母是A,那么通常省略。2、如果第二个字母相同则比较后面所有的字母,否则最后一个字母不包含在内。

#include<bits/stdc++.h>
using namespace std;
const int maxn = 105;
char s1[maxn],s2[maxn];
int T;
int cmp(int s,int t)
{
    for(int i=s;i<=t;i++)
    {
        if(s1[i]>s2[i])
            return 1;
        if(s1[i]<s2[i])
            return -1;
    }
    return 0;
}
int main ()
{
    int ic=0;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%s%s",s1,s2);
        int l=strlen(s1);
        if(l==5)
            s1[5]=='A';
        l=strlen(s2);
        if(l==5)
            s2[5]=='A';
        int a1=cmp(0,0);
        int a2;
        if(s1[1]==s2[1])
            a2=cmp(2,5);
        else
            a2=cmp(2,4);
        printf("Case %d:",++ic);
        if(a1==1)
            printf(" >");
        else if(a1==0)
            printf(" =");
        else
            printf(" <");
        if(a2==1)
            printf(" >\n");
        else if(a2==0)
            printf(" =\n");
        else
            printf(" <\n");
    }
    return 0;
}

 

转载于:https://www.cnblogs.com/pealicx/p/6131088.html

Wedding invitation H5是一种免费的电子邀请函平台,可以用来制作婚礼邀请函。H5是指使用HTML5技术,可以在浏览器中直接运行的网页。 Wedding invitation H5提供了各种模板供用户选择,用户只需根据自己的需求修改文字内容、配图等,即可制作出个性化的婚礼邀请函。 Wedding invitation H5的免费性质使其成为了许多新人的首选。相对于传统的印刷邀请函,H5邀请函具有许多优点。首先,H5邀请函制作和分发的成本较低,省去了印刷和邮寄的费用。其次,H5邀请函的传递速度更快,可以通过电子邮件、微信、朋友圈等方式一键分享给亲朋好友。此外,H5邀请函还支持更多的互动功能,如音乐、短视频、交互式地图等,能够为婚礼增添更多的亮点。 使用Wedding invitation H5制作婚礼邀请函非常简便。用户只需打开平台,选择心仪的模板,根据平台提供的编辑工具修改相关内容,如添加婚礼日期、地点、时间等。用户还可以上传自己的照片、视频以及音乐,使邀请函更加个性化。完成编辑后,用户可以预览效果,确认无误后即可保存和分享。Wedding invitation H5还提供了二维码下载和打印邀请函的选项,方便那些更喜欢传统方式的亲友。 总之,Wedding invitation H5的免费提供给了新人制作个性化、高效传达的婚礼邀请函的机会,并且使用简单方便。它在传统邀请函的基础上融入了现代科技,更加贴合了年轻人的需求。如果你正在准备婚礼并需要制作邀请函,Wedding invitation H5是一个不错的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值