結果

問題 No.455 冬の大三角
ユーザー tsuchinagatsuchinaga
提出日時 2019-04-09 09:57:35
言語 Go
(1.23.4)
結果
AC  
実行時間 16 ms / 2,000 ms
コード長 905 bytes
コンパイル時間 13,802 ms
コンパイル使用メモリ 238,756 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-07-01 22:59:51
合計ジャッジ時間 16,313 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 54
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	var h, w int
	_, _ = fmt.Scan(&h, &w)

	sc := bufio.NewScanner(os.Stdin)
	var x1, y1, x2, y2, x3, y3 int
	for i := 0; i < h; i++ {
		sc.Scan()
		for j, c := range sc.Text() {
			if c == '*' {
				if x1 == 0 {
					x1, y1 = j+1, i+1
				} else {
					x2, y2 = j+1, i+1
				}
			}
		}
	}

	if x1 == x2 { // 縦並び
		if x1 == 1 { // x1が左端ならx1の右隣
			x3, y3 = x1+1, y1
		} else { // x1の左隣
			x3, y3 = x1-1, y1
		}
	} else if y1 == y2 { // 横並び
		if y1 == 1 { // y1が上端ならy1の下隣
			x3, y3 = x1, y1+1
		} else { // y1の上隣
			x3, y3 = x1, y1-1
		}
	} else { // 斜め
		x3, y3 = x1, y2
	}

	for i := 1; i <= h; i++ {
		for j := 1; j <= w; j++ {
			if (j == x1 && i == y1) || (j == x2 && i == y2) || (j == x3 && i == y3) {
				fmt.Print("*")
			} else {
				fmt.Print("-")
			}
		}
		fmt.Println()
	}
}
0