處女座和小姐姐

鏈接:https://ac.nowcoder.com/acm/contest/329/E
來源:牛客網

時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 262144K,其他語言524288K
64bit IO Format: %lld
題目描述

既然昨天晚上處女座已經訓練了,明天才要交作業,那今天就是平淡無奇要上課的一天了。

然而處女座也想自己的小姐姐了,可是這節課是老師安排座位,處女座坐在(1,1),而小姐姐坐在(n,m)。他們之間只能通過傳紙條的方式來交流感情。對於處女座而言,他上課不想過度分心,因此並不想傳紙條,只在那裏趁機折千紙鶴。

老師上課喜歡用"開火車"的方式讓大家輪流回答問題,顯然處女座作爲(1,1)位,會被第一個叫起來回答,之後老師將依次叫起(2,1),(3,1), \dots .(n,1),(n,2),(n-1,2)\cdots (1,2) ,\cdots的人起來回答問題,每個人回答問題需要1秒。處女座在自己回答完以後會以每秒1個千紙鶴的速度摺疊,在小姐姐開始回答問題的時候停止摺疊。

處女座想知道,他這節課一共要折多少個千紙鶴?
輸入描述:
輸入文件包含T+1行,第一行包含一個整數T,表示用例組數。

接下來T行,每行包含兩個整數n,m表示小姐姐的位置和教室的大小。
輸出描述:
對於每一組用例,用一行輸出一個整數,表示處女座要折的千紙鶴的個數。
示例1
輸入
複製
1
3 3
輸出
複製
7
備註:
2 \leq n,m \leq 1,000

思路:剛開始的時候直接就做了,沒有考慮全,後來改了一下就AC了

錯誤代碼:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int T=sc.nextInt();
        while(T>0){
            int n=sc.nextInt();
            int m=sc.nextInt();
            System.out.println(n*m-2);
            T--;
        }
        sc.close();
    }
}

AC代碼:

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int T=sc.nextInt();
        while(T>0){
            int n=sc.nextInt();
            int m=sc.nextInt();
            if(m%2==0)
                System.out.println(n*(m-1)-1);
            else
                System.out.println(n*m-2);
            T--;
        }
        sc.close();
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章