package main import "fmt" const ( Human = "human" Monster = "monster" ) type Person struct { camp string attack int isAlive bool } func main() { num, round := 0, 0 fmt.Scan(&num, &round) allPerson := make([]*Person, num) camp, attack := "", 0 for i := 0; i < num; i++ { fmt.Scanf("%s %d\n", &camp, &attack) allPerson[i] = &Person{ camp: camp, attack: attack, isAlive: true, } } idx1, idx2, action1, action2 := 0, 0, "", "" for i := 0; i < round; i++ { fmt.Scanf("%d %d %s %s\n", &idx1, &idx2, &action1, &action2) a, b := allPerson[idx1-1], allPerson[idx2-1] if a.camp == b.camp || !a.isAlive || !b.isAlive || action1 == "N" && action2 == "N" { continue } if a.camp == Human && a.attack <= b.attack && action1 == "N" || a.camp == Monster && action2 == "N" { continue } a.isAlive = a.attack > b.attack b.isAlive = b.attack > a.attack } for i := 0; i < num; i++ { res := "Y" if !allPerson[i].isAlive { res = "N" } fmt.Printf("%s", res) } }
点赞 5

相关推荐

老方子:英语等级cet写错了吧
点赞 评论 收藏
分享
牛客网
牛客企业服务