博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java练习 SDUT-1149_计算题
阅读量:6678 次
发布时间:2019-06-25

本文共 1564 字,大约阅读时间需要 5 分钟。

计算题

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

一个简单的计算,你需要计算f(m,n),其定义如下:

当m=1时,f(m,n)=n;
当n=1时,f(m,n)=m;
当m>1,n>1时,f(m,n)= f(m-1,n)+ f(m,n-1)

Input

第一行包含一个整数T(1<=T<=100),表示下面的数据组数。

以下T行,其中每组数据有两个整数m,n(1<=m,n<=2000),中间用空格隔开。

Output

对每组输入数据,你需要计算出f(m,n),并输出。每个结果占一行。

Sample Input

2

1 1
2 3

Sample Output

1

7

m,n数据有点大,直接用类可能会超时,但是后台数据有点弱,所以可以过。(其实输入100,100就会超时)

import java.util.*;public class Main {    public static void main(String[] args) {        Scanner cin = new Scanner(System.in);        int a,b,t;        t = cin.nextInt();        while(t-->0)        {            a = cin.nextInt();            b = cin.nextInt();            System.out.println(f(a,b));        }        cin.close();    }    public static int f(int m,int n)    {        if(m==1)            return n;        if(n==1)            return m;        return f(m-1,n) + f(m,n-1);    }}

所以用数组存储的方式来做。

结果发现了一个特别坑的问题,计算结果哪怕开long也会爆……

iimport java.util.*;public class Main {    public static void main(String[] args) {        Scanner cin = new Scanner(System.in);        int a,b,t,i,j;        long f[][] = new long [2050][2050];        for(j=0;j<=2000;j++)            f[1][j] = j;        for(i=0;i<=2000;i++)            f[i][1] = i;        for(i=2;i<=2000;i++)            for(j=2;j<=2000;j++)                f[i][j] = f[i-1][j] + f[i][j-1];        t = cin.nextInt();        while(t-->0)        {            a = cin.nextInt();            b = cin.nextInt();            System.out.println(f[a][b]);        }        cin.close();    }}

转载于:https://www.cnblogs.com/luoxiaoyi/p/9711328.html

你可能感兴趣的文章
权限设计的三层境界续
查看>>
蓝点中文_Linux2.0 实验九 目录与文件管理 (一)
查看>>
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(16)-权限管理系统-漂亮的验证码...
查看>>
【总目录】本博客博文总目录-实时更新
查看>>
Razor语法大全
查看>>
Serlvet学习笔记之二—不同页面共享数据
查看>>
Css3 - 动画旋转
查看>>
[Angular 2] Handling Click Events with Subjects
查看>>
django-redis和redis-py
查看>>
开发中常用js记录(二)
查看>>
Codeforces 715A. Plus and Square Root[数学构造]
查看>>
nodejs REPL(交互式解释器)
查看>>
颠覆你的认知,带你领略史上最为齐全的微软黑科技之旅
查看>>
【转】EL表达式 (详解)
查看>>
Android文件上传
查看>>
无人超市对社会是福还是祸?
查看>>
12306、上海地铁、广发银行的选择 起底蚂蚁金服移动开发平
查看>>
说阿里是日本的公司 你咋不说腾讯是非洲的呢
查看>>
春运的高铁上 有华为和满满的信号一起陪你回家
查看>>
以顶级项目之姿进入Apache基金会,Apache Kibble有点厉害!
查看>>