如果发现广告等破坏行为,请尽量将条目恢复到较早的版本而不是把相应内容直接删除,谢谢合作。
URAL/1051
来自"NOCOW"
< URAL
答案貌似像case,(m=1)or(n=1):ans<--(m+n)div 2;m*n mod 3 =0:ans<--2;else:ans<--1。至于为什么,好像是因为3*2可以变成3*1,然后递推得到3个最合跳完只剩2个。其他不详。 OO ==> _XO ==> _OO ==> OX_ OO ==> OO ==> OX ==> OX OO ==> OO ==> O_ ==> O_
#include<stdio.h> int main() { int m,n,ans; scanf("%d %d",&m,&n); if ((m==1)||(n==1)) ans=int((m+n)/2); else { if (((m*n)%3)==0) ans=2; else ans=1; } printf("%d\n",ans); return 0; }
pascal
var n,m:longint; begin read(n,m); if(n=1)or(m=1)then write((n+m)div 2) else if((n*m)mod 3=0)then write(2) else write(1); end.