zoukankan      html  css  js  c++  java
  • HDU 2293

    http://acm.hdu.edu.cn/showproblem.php?pid=2293

            啥也不说了,一个简单的模拟让我弄成这样。

            注意两个地方:

                  1.  最后不能用时间递增来模拟过程,要先求出每人hp<=0的时间,通过对比时间来决定胜负,否则会超时。

                  2.  过程中的取模要放到循环中,每次的相乘都取模,否则会乘法溢出。

    代码:

    #include<iostream>
    #include
    <cstdio>
    #include
    <cstring>
    using namespace std ;
    int main(){
            
    int n ;
            cin 
    >> n ;
            
    int hp1, hp2, st1, st2, sp1, sp2 ;
            
    char str1[25], str2[25] ;
            
    while(n--){
                hp1
    =0; hp2=0; sp1=0; sp2=0 ;
                st1 
    = 1;
                st2 
    = 1 ;
                scanf(
    "%s%s"&str1, &str2) ;
                
    for(int j=0; j<strlen(str1); j++){
                    hp1 
    = (hp1+(83-str1[j])*(83-str1[j]))%97 ;
                    st1 
    = (st1*str1[j])%79 ;
                    
    for(int k=j+1; k<strlen(str1); k++)
                        sp1 
    = (sp1+str1[j]*str1[k])%11 ;
                }
                hp1 
    = 300 - hp1 ;
                st1 
    += 22 ;
                
    for(int j=0; j<strlen(str2); j++){
                    hp2 
    = (hp2+(83-str2[j])*(83-str2[j]))%97 ;
                    st2 
    = (st2*str2[j])%79 ;
                    
    for(int k=j+1; k<strlen(str2); k++)
                        sp2 
    = (sp2+str2[j]*str2[k])%11 ;
                }
                hp2 
    = 300 - hp2 ;
                st2 
    += 22 ;
                
    int n1, n2 ;
                n1 
    = hp2 / st1 ;
                n2 
    = hp1 / st2 ;
                
    if(hp2%st1!=0)    n1 ++ ;
                
    if(hp1%st2!=0)    n2 ++ ;
                n1 
    = n1 * (20-sp1) ;
                n2 
    = n2 * (20-sp2) ;
                
    if(n1>n2)   printf("lose\n") ;
                
    else
                
    if(n1==n2)  printf("tie\n") ;
                
    else   printf("win\n") ;
            }
            
    return 0 ;
        }
  • 相关阅读:
    汇编笔记(1) 寄存器
    阿里云RDS数据库备份文件恢复到本地数据库
    Java调用HTTPS接口的证书配置
    SQL面试题之行转列
    WebsiteCrawler
    supervisor
    简单学习github代码托管
    [egret+pomelo]实时对战游戏杂记(5)
    [egret+pomelo]实时游戏杂记(4)
    [egret+pomelo]实时游戏杂记(3)
  • 原文地址:https://www.cnblogs.com/xiaolongchase/p/2152914.html
Copyright © 2011-2022 走看看