2009NOIPc++初赛的一题求输出,神犇们帮忙看一下多谢

回复帖子

@柠檬Baker、 2016-10-19 21:36 回复
#include <iostream>
using namespace std;
int main()
{
    int a[3],b[3];
    int i,j,tmp;
    for (i=0;i<3;i++)
        cin >> b[i];
    for (i=0;i<3;i++)
    {
        a[i]=0;
        for (j=0;j<=i;j++)
        {
            a[i]+=b[j];
            b[a[i]%3]+=a[j];
        }
    }
    tmp=1;
    for (i=0;i<3;i++)
    {
        a[i]%=10;
        b[i]%=10;
        tmp*=a[i]+b[i];
    }
    cout << tmp << endl;
    return 0;
}

输入:2 3 5 输出:_______

方成狗,能给我解释一下为什么要输出这个答案以及这个程序的目的是什么的就好谢谢各位:-)

@Red_w1nE 2016-10-19 21:48 回复 举报

读程序一般1,2题都是模拟(第2题可能不是 第1题一定是模拟题 列个表就行了)

@ztzshiwo001219 2016-10-19 22:02 回复 举报

额。。。我实在没看出这个程序有任何意义,可能毫无目的。但是大概知道为什么输出这个答案,首先前面那个两重循环,每个i循环会求前1~i个数的和,玄学的全部加到b[3]里面去,这种题目,不一定要有什么目的,可能就是故意让你模拟的时候很不爽。。。具体可以参见NOIP2013或2014中一道看上去有三个变量的dfs,实际上后面两个变量毫无意义,一般来讲小数据可以模拟,或许可以慢慢找到规律,有些字符串处理的题目会好看一点,一般看得出来目的,而有些题目就很玄学了,干脆模拟吧。。。

反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。