[explication de l'inscription] 【 PTA Group Programming ladder 】 L1 - 019 who first (15 points) go Language golang

Xiao Sheng fan yi 2021-08-20 00:47:59 阅读数:279

explication inscription pta group programming

L1-019 Qui commence? (15 Points) GoLangues|Golang

La boxe est une partie intéressante de l'ancienne culture chinoise du vin . Deux coups de poing sur la table à boire : Un chiffre par habitant , En même temps, dessinez un chiffre à la main . Si quelqu'un compare les chiffres marqués exactement à la somme des chiffres que deux personnes ont criés, , Qui perd? , Le perdant paie un verre de vin. . Deux gagnants ou deux perdants continuent le tour suivant , Jusqu'à ce que le seul gagnant arrive. .

Voici a 、 Quantité d'alcool pour deux personnes ( Combien de verres peut - on boire? ) Et des coups de poing. , S'il vous plaît, jugez qui tombe en premier. .

Format d'entrée:

Saisissez la première ligne pour donner a successivement 、 Quantité d'alcool pour deux personnes (Pas plus de100 Entier non négatif de ),Séparés par des espaces. La ligne suivante donne un entier positif N(≤100),Par la suiteND'accord, Chaque ligne donne un enregistrement d'un coup de poing ,Le format est:

 Un cri. Rame a B crie. Section B

Parmi eux Crie! C'est le nombre qui crie. ,Ramez C'est un chiffre marqué. , Pas plus de 100Entier positif de( Ramez les deux mains ensemble. ).

Format de sortie:

Dans la première ligne, sortez l'homme qui est tombé en premier. :A Représentant a ,B Représentant B . Combien de verres a - t - il bu? . Le titre garantit qu'un homme est tombé. . Le programme s'arrête quand quelqu'un tombe. , Les données suivantes ne doivent pas être traitées .

Exemple d'entrée1:

1 1
6
8 10 9 12
5 10 5 10
3 8 5 12
12 18 1 13
4 16 12 15
15 1 1 16

Pas de lignes vides à la fin

Exemple de sortie1:

A
1

Pas de lignes vides à la fin

Idées:

Il est important de comprendre le sujet. , Écris - le directement sur le sujet. , C'est d'abord la sortie. , Puis tapez à nouveau pour juger , Dès que quelqu'un est ivre, sortez. , Notez combien d'alcool l'autre a bu. . Je peux voir les notes. ~

Les codes sont les suivants::

package main
import "fmt"
func main() {

var aJiu,bJiu,num int
_,_=fmt.Scan(&aJiu,&bJiu) // Entrez la quantité d'alcool pour deux personnes 
_,_=fmt.Scan(&num) // Saisissez le nombre de Tours 
aJiuTmp := aJiu // Stocker la quantité d'alcool des deux , Faciliter la soustraction ultérieure de la quantité restante d'alcool , C'est juste une quantité raisonnable de vin. 
bJiuTmp := bJiu
for i:=0;i<num;i++{

var aHan,aHua,bHan,bHua int
_,_=fmt.Scan(&aHan,&aHua,&bHan,&bHua) // Entrez les coups et les cris de deux personnes 
if aHua==aHan+bHan && bHua!=aHan+bHan {
 // SiA Le nombre indiqué est la somme des deux et B Non. 
aJiu-- //A Juste boire. , Moins d'alcool. 1
if aJiu < 0{
 // Une fois découvert A Quantité d'alcool <0C'est, Je me suis retiré. 
fmt.Printf("A\n%d",bJiuTmp-bJiu) // Imprimer maintenant B Quantité d'alcool 
break
}
}else if bHua==aHan+bHan && aHua!=aHan+bHan {
 // SiB Le nombre indiqué est la somme des deux et A Non. 
bJiu-- //B Juste boire. , Moins d'alcool. 1
if bJiu < 0 {
 // Une fois découvert B Quantité d'alcool <0C'est, Je me suis retiré. 
fmt.Printf("B\n%d", aJiuTmp-aJiu) // Imprimer maintenant A Quantité d'alcool 
break
}
} else {

continue
}
}
}
Copyright:Cet article est[Xiao Sheng fan yi]Établi,Veuillez apporter le lien original pour réimprimer,remercier。 https://fra.fheadline.com/2021/08/20210820004719215y.html