hdu 4891—水的问题 但WA非常多

hdu 4891—水的问题 但WA非常多

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

这个问题是在一个坑—-即使在使用long  long 这将是超出范围

自己显得很长的时间去阅读很多次的称号仍然没想到

当时的想法是要记住—-无论如何,我用long long 已经最大范围。当然不能用更大的类型–即使unsigned它是唯一的 比long long 大一倍。如今回头看,这样的想法太唯心,不是理性分析的结果啊,,

代码:

//1005
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cstdlib>
#include <iostream>
using namespace std;
#define ll long long
const ll lim=1e5;

int main()
{
    //freopen("hdu1005.txt","r",stdin);
    ll cnt,ans,kr,sp,n;
    char c;
    int last;
    bool flag=0;
    while(~scanf("%I64d",&n))
    {
        flag=0;
        getchar();
        cnt=kr=sp=0;
        ans=1;
        while(1)
        {
            c=getchar();
            if(c == '\n')cnt++;
            if(cnt>=n  || c==EOF)break;
            //{}
            if(c == '$')
            {
                kr=last=0;
                while(1)
                {
                    c=getchar();
                    if(c == '\n'){cnt++;if(kr)last=1;continue;}
                    if(c == ' ')kr++;
                    //if(c != ' ' && c == '\n')conti
                    if(c != ' ' && kr){if(ans>lim)flag=1;ans*=(kr+1);kr=0;}
                    if(c == '$')break;
                }
                if(c != ' ' && kr){if(ans>lim)flag=1;ans*=(kr+1);kr=0;}
                ////
            }
            if(c == '{')
            {
                sp=0;
                while(1)
                {
                    c=getchar();
                    if(c == '\n'){cnt++;}
                    if(c == '|'){sp++;}
                    if(c == '}')break;
                }
                if(ans>lim)flag=1;
                ans*=(sp+1);
                sp=0;
            }
        }
        if(ans>lim||flag)printf("doge\n");
        else  printf("%I64d\n",ans);
    }
    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116711.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • QUOTEName用法[通俗易懂]

    QUOTEName用法[通俗易懂]  1.可以用在拼接字符串时候将参数名称替换为参数值到SQL里面,如下面代码:DECLARE@TableNameVARCHAR(50),@SqlNVARCHAR(MAX),@DJIDINT;SET@TableName=’DJ’;SET@DJID=1991906354;SET@sql=’SELECT*FROM’+QUOTENAME(…

    2022年7月25日
    7
  • Java8-Stream API

    Java8-Stream API

    2022年3月7日
    36
  • BeanUtils_BeanUtils

    BeanUtils_BeanUtils1.beanUtils工程1.工程目录2.需要的jar包:commons-beanutils-1.9.3.jarcommons-collections-3.2.2.jarcommons-logging-1.2.jar3.转换器DateConverter.java:packagecom.my.model;importjava.text.ParseException;

    2025年10月30日
    3
  • 使用SpringBoot的@Async实现异步调用方法,以及自己开启新线程异步调用

    使用SpringBoot的@Async实现异步调用方法,以及自己开启新线程异步调用一.springboot的@Async注解实现异步要在springboot中使用异步调用方法,只要在被调用的方法上面加上@Async就可以了1.准备工作准备一个springboot工程,在Application类上加上EnableAsync注解开启异步/***@Author:zgd*@Date:18/09/1210:27*@Description:…

    2022年7月11日
    15
  • Java高级面试题!69个经典Java面试题和答案详解

    Java高级面试题!69个经典Java面试题和答案详解拼多多一面首先自我介绍参加过哪些项目并发编程三要素?实现可见性的方法有哪些?多线程的价值?创建线程的三种方式的对比?画出线程的状态流转图常用的并发工具类有哪些?CyclicBarrier和CountDownLatch的区别CAS的问题:1、CAS容易造成ABA问题2、不能保证代码块的原子性3、CAS造成CPU利用率增加ReadWriteLock是什么一面面试题答案:拼多多二面自我介绍什么是工厂模式?如何实现单链表的增删操作?让我说意思JVM的分为哪几块

    2022年8月21日
    5
  • Microsoft Windows 恶意软件删除工具

    Microsoft Windows 恶意软件删除工具Microsoft恶意软件删除工具与防病毒产品有何差异Microsoft恶意软件删除工具不能取代防病毒产品。严格地讲,该工具是感染后的删除工具。因此,强烈建议您安装并使用最新的防病毒产品。Microsoft恶意软件删除工具主要在以下三个方面与防病毒产品有所不同:该工具从已经受感染的计算机中删除恶意软件。防病毒产品能够阻止恶意软件在计算…

    2022年6月24日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号