傻瓜做法

#include<stdio.h>
int main()
{
    int i,n,na,nb,p,q,cnta=0,cntb=0;
    scanf("%d %d %d",&n,&na,&nb);
    int x[na+1],y[nb+1];
    for(i=1;i<=na;i++)
        scanf("%d",&x[i]);
    for(i=1;i<=nb;i++)
        scanf("%d",&y[i]);
    for(i=1;i<=n;i++)
    {
        p=q=i;
        if(p>na)   
        {
            if(p%na==0) p=na;
        else    p=p%na;
        
        if(q>nb)    
            {
            if(q%nb==0) q=nb;
        else    q=q%nb;
        
      //  printf("%d %d\n",p,q);
        if(x[p]==0&&(y[q]==1||y[q]==4))    cntb++;
        if(x[p]==0&&(y[q]==2||y[q]==3))    cnta++;
        if(x[p]==1&&(y[q]==0||y[q]==3))    cnta++;
        if(x[p]==1&&(y[q]==2||y[q]==4))    cntb++;
        if(x[p]==2&&(y[q]==0||y[q]==3))    cntb++;
        if(x[p]==2&&(y[q]==1||y[q]==4))    cnta++;
        if(x[p]==3&&(y[q]==0||y[q]==1))    cntb++;
        if(x[p]==3&&(y[q]==2||y[q]==4))    cnta++;
        if(x[p]==4&&(y[q]==0||y[q]==1))    cnta++;
        if(x[p]==4&&(y[q]==2||y[q]==3))    cntb++;
      //  printf("%d %d\n",cnta,cntb);
    }
    printf("%d %d",cnta,cntb);
    return 0;

全部评论
这题正解不就是这个吗
点赞 回复 分享
发布于 2020-05-10 20:36

相关推荐

昨天 11:06
辽宁大学 市场
深莞高速因为台风都封掉了,华为协商后,特地开通华为通道,凭工卡可以正常通勤......
崔喃喃:“台风您好,19级专家已驳回了您18级台风的OA登陆申请”
投递华为技术有限公司等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务