如果发现广告等破坏行为,请尽量将条目恢复到较早的版本而不是把相应内容直接删除,谢谢合作。

URAL/1051

来自"NOCOW"

跳转到: 导航, 搜索

答案貌似像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.

yuhc牛威武!!!证明在此: [[1]] --Wecing 20:34 2010年4月19日 (CST)

个人工具