結果

問題 No.721 Die tertia (ディエ・テルツィア)
ユーザー kat0rik
提出日時 2019-08-12 18:49:47
言語 Go
(1.23.4)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 642 bytes
コンパイル時間 14,038 ms
コンパイル使用メモリ 228,476 KB
実行使用メモリ 6,812 KB
最終ジャッジ日時 2024-09-17 06:22:44
合計ジャッジ時間 13,913 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 18
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import (
	"fmt"
	"strconv"
)

//                     1,   2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12
var days = [13]int{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}

func main() {
	var s string
	fmt.Scan(&s)
	y, _ := strconv.Atoi(s[0:4])
	m, _ := strconv.Atoi(s[5:7])
	d, _ := strconv.Atoi(s[8:10])
	if y%4 == 0 && (y%100 != 0 || y%400 == 0) {
		// leap year
		days[2] = 29
	}
	// fmt.Println("y", y, "m", m, "d", d, "days", days)
	if d+2 > days[m] {
		if d == days[m] {
			d = 2
		} else {
			d = 1
		}
		if m == 12 {
			m = 1
			y++
		} else {
			m++
		}
	} else {
		d += 2
	}

	fmt.Printf("%04d/%02d/%02d\n", y, m, d)
}
0