Blog

  • poj_2000

    /*
    //ACM Poj 2000
    //File: 2000.cpp
    //Author: Kangzj
    //Mail: Kangzj@mail.bnu.edu.cn
    //Date: April 24, 2009
    */
    #include
    #include
    #include
    using namespace std;
    int main()
    {
      int day;
      int coinDay, coinAll;
      ostringstream buff;
        while(1)
      {
            cin>>day;
            if(day==0)break;
        float temp=sqrt(1+8*day);
        int tmp=(int)temp;
        if(temp!=(float)tmp && tmp%2!=0)
        {
          tmp+=2;
        }else if(temp!=(float)tmp && tmp%2==0)
        {
          tmp++;
        }else
        {
          tmp=tmp;
        }
        coinDay=(-1+tmp)/2;
        coinDay--;
        coinAll=coinDay*(coinDay+1)*(2*coinDay+1)/6;
        coinAll+=(coinDay+1)*(day-(coinDay+1)*coinDay/2);
        buff< 
    

    需要选择G++才能通过,如果想用C++,只要加几个强制转换就可以了。

  • zoj_1002(Fire Net)的一个简单的解法

    做了一天,把此题AC了,看到网上用的算法很复杂,发个自己的出来。
    思路:
    1.如果城市全空,可以不管顺序,随便从哪里开始放“碉堡”,把“碉堡”射程里的城市标记下,后面的“碉堡”不放在这里即可得到结果。
    2.但是如果城市中有“墙”的话,就不可以按照1的方法了,因为放置数量的多少与顺序是有关的,所以,怎样来确定这个顺序是很重要的。观察发现,城市里的空地按照领域中的“墙”的数量可以分为五种,即从0到4。再观察,可以得到这样一个结论:按邻域中墙的数目由多到少,往空地上安放“碉堡”,可以使数目最大!
    于是按照这个结论,编程如下:
    (more…)

  • poj_1006

    Problem: http://poj.grids.cn/problem?id=1006
    Solution:
     

    #include
    #include
    #include
    using namespace std;
    int main()
    {
        int p, e, i, n=0;
        long cp, ce, ci;
        short d;
        int j=1;//计数用
        ostringstream buf;
        while(1)
        {
            cin>>p>>e>>i>>d;
            if(p==-1 && e==-1 && i==-1 && d==-1)
            {
                break;
            }
            n=d;
            while(1)
            {
                n++;
                if((n-p)%23==0 && (n-e)%28==0 && (n-i)%33==0)
                {
                    n-=d;
                    if(n==0)
                    {
                        n=d;
                        continue;
                    }
                    break;
                }
                //cout< <"*";
            }
            buf<<"Case "<
    

  • poj_1004

    #include
    using namespace std;
    int main()
    {
        int i;
        float all=0, temp=0;
        for(i=0;i<12;i++)
        {
            cin>>temp;
            all+=temp;
        }
        all+=0.005;
        cout.precision(2);
        //cout.setf(ios_base::showpoint);
        cout< <"$"<
    

  • linux程序开机自动启动方法

    —-转自JavaEye
    1)redhat的启动方式和执行次序是:
          加载内核
          执行init程序
          /etc/rc.d/rc.sysinit # 由init执行的第一个脚本
          /etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式
          /etc/rc.d/rc.local     #相应级别服务启动之后、在执行该文件(其实也可以把需要执行的命令写到该文件中)
          /sbin/mingetty # 等待用户登录
    (more…)

  • 深入理解C语言指针的奥秘

    –转自http://blog.programfan.com/article.asp?id=22552
    指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。
    (more…)

  • 将Excel中的数据导出成SQL(即可导入MySQL等数据库了)

    =CONCATENATE(“INSERT OR REPLACE into students (school,name,stuno,gender,grade,mobile)values(“,”‘”,A771,”‘”,”,”,”‘”,A771,”‘”,”,”,”‘”,A771,”‘”,”,”,”‘”,A771,”‘”,”,”,”‘”,A771,”‘”,”,”,”‘”,A771,”‘”,”);”)
    把上面的语句在单元格中输入,然后,将A771换成相应的单元格的编号即可,然后拖动就行了!

  • 一键还原——我对你很无语!

    刚装好的系统,就被丫的弄得起不来了,我错了,我真的错了,就不应该用你什么“一键还原”!
    老老实实的用GHOST吧,修改版什么都不可靠,我快说脏话了!!!!!!!