1013 Counterfeit Dollar

Posted sweet-ginger-candy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1013 Counterfeit Dollar相关的知识,希望对你有一定的参考价值。

思路:结果"even"者均为正确硬币。则用数组flag[]进行标记,后面再次遇到该枚硬币则自动忽略。

处理错误硬币:我们遇到结果"up"除已判断正确的硬币外,左面硬币flag[]值-1.右面硬币flag值+1.遇到结果"down"因左面差异硬币整体较轻则-1,右面+1

结果处理:abs值最大者为错误硬币。

#include<iostream>
#include<string.h>
#include<cstdio>
#include<cmath>
using namespace std;
char s1[13],s2[13],con[10];
int flag[12];
int main(){
    int n;
    cin>>n;
    while(n--){
        memset(flag,0,sizeof(flag));
        for(int i=1;i<=3;i++){
            //scanf_s("%s%s%s",s1,s2,con);
            cin>>s1>>s2>>con;
            int len=strlen(s1);
            if(strcmp(con,"even")==0){
                for(int k=0;k<len;k++){
                    flag[s1[k]-A]=10;
                    flag[s2[k]-A]=10;
                }
            }
            else if(strcmp(con,"up")==0){
                for(int k=0;k<len;k++){
                    if(flag[s1[k]-A]!=10)
                        ++flag[s1[k]-A];
                    if(flag[s2[k]-A]!=10)
                        --flag[s2[k]-A];
                }
            }
            else 
            {
                for(int k=0;k<len;k++){
                    if(flag[s1[k]-A]!=10)
                        --flag[s1[k]-A];
                    if(flag[s2[k]-A]!=10)
                        ++flag[s2[k]-A];
                }
            }
        }
        int maxn;
        maxn=0;
        int countmax=0;
        for(int i=0;i<12;i++){
            if(flag[i]==10)continue;
            if(abs(flag[i])>maxn){
                maxn=abs(flag[i]);
                countmax=i;
            }
        }
        if(flag[countmax]>0)
            printf("%c is the counterfeit coin and it is heavy.
",A+countmax);
        else
            printf("%c is the counterfeit coin and it is light.
",A+countmax);
    }
    return 0;
}

 

以上是关于1013 Counterfeit Dollar的主要内容,如果未能解决你的问题,请参考以下文章

Counterfeit Dollar

D - Counterfeit Dollar(第二季水)

九度[1150]Counterfeit Dollar

dollar啥意思

dollar是啥意思

bzoj1655[Usaco2006 Jan] Dollar Dayz 奶牛商店*