知识or分数? 我想我在意的都不是这两个。

说不清楚,记下来。

发表在 未分类 | 留下评论

那年在OI

  下午逛矩阵牛的blog,有篇介绍排序的视频反反复复看了几遍,想起当初自己写的快排堆排,突然想看看自己当初写的程序。

   在QQ移动硬盘里找了一会,总算找到了吧。

  有点怀念那年那时了。

procedure qsort(l,r:integer);
var i,j,mid:integer;
begin
    i:=l;
    j:=r;
    mid:=a[(l+r) div 2];
repeat
   while a[i]<mid do inc(i);
   while a[j]>mid do dec(j);
if i<=j then

   begin
        a[0]:=a[i];
        b[0]:=b[i];
        a[i]:=a[j];
        b[i]:=b[j];
        a[j]:=a[0];
        b[j]:=b[0];
        inc(i);
        dec(j);
       end;

until i>j;
if l<j then qsort(l,j);
if i<r then qsort(i,r);
end;

  报告产生于 2009-06-20 15:27

  MyRecvFiles.rar

# 总计          大小        压缩后大小   文件数
#               509110        183000         303

发表在 未分类 | 留下评论

最近博客更新渐少[- -!根本就是没跟新]及之后安排

     临近期末,努力学习= =,

     前几个星期校园网来CSDN速度慢到那啥,嗯,闲话少说。

过去

     1  试着写几个程序,估计了下完全熟练实现的差距。

     2  阅读C++入门经典

     3  阅读了匡老大给的openssl的代码,熟悉C的开发模式。

计划

     1  复习!!复习!!不挂当然最好-.-

     2  C++啃完后把之前买的深入MFC看掉

     3  把之前的设计程序完成,现阶段由于基础问题不能深入了.

    

发表在 未分类 | 留下评论

称球问题

12个球和一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球?

(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)

 以前想了一早上的题,今天碰巧再看见却想不起来了 囧rz

 附上答案:


 

 首先,把12个小球分成三等份,每份四只。
    拿出其中两份放到天平两侧称(第一次)
    情况一:天平是平衡的。
        那么那八个拿上去称的小球都是正常的,特殊的在四个里面。
        把剩下四个小球拿出三个放到一边,另一边放三个正常的小球(第二次)
        如天平平衡,特殊的是剩下那个。
        如果不平衡,在天平上面的那三个里。而且知道是重了还是轻了。
        剩下三个中拿两个来称,因为已经知道重轻,所以就可以知道特殊的了。(第三次)
    情况二:天平倾斜。
        特殊的小球在天平的那八个里面。
        把重的一侧四个球记为A1A2A3A4,轻的记为B1B2B3B4。
        剩下的确定为四个正常的记为C。
        把A1B2B3B4放到一边,B1和三个正常的C小球放一边。(第二次)
        情况一:天平平衡了。
              特殊小球在A2A3A4里面,而且知道特殊小球比较重。
              把A2A3称一下,就知道三个里面哪个是特殊的了。(第三次)
        情况二:天平依然是A1的那边比较重。
              特殊的小球在A1和B1之间。
              随便拿一个和正常的称,就知道哪个特殊了。(第三次)
        情况三:天平反过来,B1那边比较重了。
              特殊小球在B2B3B4中间,而且知道特殊小球比较轻。
              把B2B3称一下,就知道哪个是特殊的了。(第三次)

发表在 未分类 | 留下评论

PAL4

百年之后,仙剑本身并不重要,赚的多少也不重要,付出多寡也不重要,因为一切终将归于尘土……重要的是游戏乃人性所驱,不懂得经营、把握、和坚持,便是等着他国文化洗脑,年轻一代将不负记取何为传统文化,岂不为国人悲哀?

发表在 未分类 | 留下评论

C#实现想法小记[程序部分]

C#实现想法小记

自己的程序部分 注释也打不上来多少,因为自己对核心概念也说不清楚嗷嗷嗷 /.\

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Timers;

namespace WindowsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {  

            InitializeComponent();
            this.KeyUp += new KeyEventHandler(this.Form1_KeyUp);  //键盘事件
        
        }
        private System.Timers.Timer timerClock = new System.Timers.Timer();  
 
        public void OnTimer(Object source, ElapsedEventArgs e)  //鼠标点击模拟,由时间事件引发
        {
            const int MOUSEEVENTF_MOVE = 0x0001;    //  移动鼠标
            const int MOUSEEVENTF_LEFTDOWN = 0x0002;// 模拟鼠标左键按下
            const int MOUSEEVENTF_LEFTUP = 0x0004;// 模拟鼠标左键抬起
            const int MOUSEEVENTF_RIGHTDOWN = 0x0008; //模拟鼠标右键按下
            const int MOUSEEVENTF_RIGHTUP = 0x0010;// 模拟鼠标右键抬起
            const int MOUSEEVENTF_MIDDLEDOWN = 0x0020;// 模拟鼠标中键按下
            const int MOUSEEVENTF_MIDDLEUP = 0x0040; //模拟鼠标中键抬起
            const int MOUSEEVENTF_ABSOLUTE = 0x8000;// 标示是否采用绝对坐标

             // mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, 500, 500, 0, 0);
              mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
              mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
            
           // MessageBox.Show(“test”,”test”);
        }

     
   

        private void button1_Click(object sender, EventArgs e) //这个是前期测试的一部分 后面直接留作按钮启动timer的方法
        {
          
             timerClock.Enabled = false;
             timerClock.Elapsed += new ElapsedEventHandler(OnTimer);
             timerClock.Interval =this.trackBar1.Value*1000;
             timerClock.Enabled = true;

        }

        private void Form1_KeyUp(object sender, KeyEventArgs e) //按键事件
        {
            if (e.Control && e.KeyCode == Keys.P)
            {
                if (timerClock.Enabled == false)
                {
                  
                    timerClock.Elapsed += new ElapsedEventHandler(OnTimer);
                    timerClock.Interval = this.trackBar1.Value * 1000;
                    timerClock.Enabled = true;
                }
                else timerClock.Enabled = false;
              
            }

        }
        private void Form1_Load(object sender, EventArgs e)
        {
         
        }

        private void trackBar1_Scroll(object sender, EventArgs e)  //拉条 (- – 是拉条么._)选择间隔时间,显示出来
        {
           this.label1.Text=this.trackBar1.Value.ToString()+”秒”;
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }
    }
}

发表在 未分类 | 留下评论

C#实现想法小记

   11点左右突然想完成一个比较繁杂的应用 (- – 原因这里就不说了)

   之前有个蛮不错鼠标按键模拟exe,今天有些地方懒得点鼠标,却找不到了,

   自己写个吧

   实现程序部分

   1,实现任务: 模拟连续点击鼠标左键

   2,附加功能:   自定义选择延时,支持捕获键盘按键来启动或终止

   初步需要达成函数功能

            1 模拟鼠标点击

            2 计时功能的实现和时间循环

            3 键盘事件的实现

   以前完全没试过,开始只是有以上大概的想法,在vs里乱逛了会,决定用C#实现,无他…简单点吧…

   参考资料 : googlegooglegooglegoogle…… 写到最后整合的时候已经打开一堆窗口…

   好在完成了

   下面把在网上找到的最有价值参考和自己的相应代码贴上来

//标题为”桔子”
MessageBox.Show(“URL:http://www.shx.name/”, “桔子”);
……………….
MessageBox.Show(“URL:http://www.shx.name/”, “桔子”, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning,MessageBoxDefaultButton.Button2);

   – -这里是因为开始我都不记得怎么弹出对话框了..有时测试时会用上,这个事查资料时的小插曲…

   以下是模拟鼠标的实现参考

这个函数在user32.dll这个库文件里面。我们可以在C:\WINDOWS\system32(XP系统)这个目录下找到这个文件,他是系统自带的。我们以C#直接调用这个文件中的API为例子来说下怎么进行鼠标操作,首先在我们C#中声明引用,如果是一个基于From的程序,这个声明的位置写在你的 From class就可以了
[System.Runtime.InteropServices.DllImport(“user32”)]
private static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
…………………………….
const int MOUSEEVENTF_MOVE = 0x0001;      移动鼠标
const int MOUSEEVENTF_LEFTDOWN = 0x0002; 模拟鼠标左键按下
const int MOUSEEVENTF_LEFTUP = 0x0004; 模拟鼠标左键抬起
const int MOUSEEVENTF_RIGHTDOWN = 0x0008; 模拟鼠标右键按下
const int MOUSEEVENTF_RIGHTUP = 0x0010; 模拟鼠标右键抬起
const int MOUSEEVENTF_MIDDLEDOWN = 0x0020; 模拟鼠标中键按下
const int MOUSEEVENTF_MIDDLEUP = 0x0040; 模拟鼠标中键抬起
const int MOUSEEVENTF_ABSOLUTE = 0x8000; 标示是否采用绝对坐标
程序中我们直接调用mouse_event函数就可以了
………………………
mouse_event (MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0 )
3、两次连续的鼠标左键单击事件 构成一次鼠标双击事件:
mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 )
mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 )
………………………………….

 之后是timer部分参考 参考页面里的MM照片很漂亮

using System.Threading;
using System.Timers;
………………….

private System.Timers.Timer timerClock = new System.Timers.Timer();   
timerClock.Elapsed += new ElapsedEventHandler(OnTimer);
timerClock.Interval = 1000;
timerClock.Enabled = true;

public void OnTimer( Object source, ElapsedEventArgs e )
{
    //Your code here
}

 最后是键盘事件的实现

         这一部分个人觉得最好的参考是2005年写的..

在C#程序定义”KeyDown”、”KeyUp”事件的语法如下:

    “组件名称”.”事件名称”+= new Syetem.Windows.Froms. KeyEventHandler(”事件名称”);

   下面是程序中具体实现代码:

    button1. KeyUp += new Syetem.Windows.Froms. KeyEventHandler(button1_KUp);

   下面是响应上面事件的基本结构。

   

private void button1_KUp ( object sender , Syetem.Windows.Froms. KeyEventArgs e )
     

{  
       此处加入响应此事件的代码
      

还有顺眼看见的,加到代码里。判断ctrl+p时会用

private void Form1_KeyDown(object sender, KeyEventArgs e)
 { if(e.Control && e.KeyCode == Keys.A)
this.BackColor = Color.Red; }

至于我自己的代码部分再发帖吧。

发表在 未分类 | 留下评论

fgets读入包括换行符

    linux:

#include <stdio.h>
#include <string.h>
#define size 129

int main()
{
    char a[size],b[size],c[size]=”abc”;
    int i,j,al,bl,cl,ctemp;
  //  printf(” \nInput a string a :\n”);
    fgets(a,size,stdin);
 //   printf(” \nInput a string from a :\n”);
 //   fgets(b,size,stdin);
   
    printf(“%d %d %d\n”,a[strlen(a)],a[strlen(a)-1],a[strlen(a)-2]);
    printf(“%d %d %d\n”,c[strlen(c)],c[strlen(c)-1],c[strlen(c)-2]);
}

abc
0 10 99
0 99 98

发表在 未分类 | 留下评论

FM牛处偷来的滔滔代码简略分析

废话不说啦 凑文章的同时把自己修改的地方写上来吧。

<!–这里是腾讯给的代码的第一句–>
<script type=”text/javascript”>var taotao_qq=19880711; var taotao_num=3;var taotao_type=0;</script>
<div id=”taotao”>
<!–这里是腾讯给的代码的第二句–>
<script type=”text/javascript” charset=”utf-8″ src=”http://www.taotao.com/js/dkapi.js”></script>
</div>

<script>
try{
    var divtao = document.getElementById(“taotao”);
    var re1 = new RegExp(“<span[^>]*?>通过[^<]*?</span>”, “ig”);
    str = divtao.innerHTML.replace(re1, “”);
    var re2 = new RegExp(“<a[^>]*?>(.*?)</a>”, “ig”);
    str = str.replace(re2, “($1)”);
    var re3 = new RegExp(“<table[^>]*?>.*?</table>”, “ig”);
    str = str.replace(re3, “”);
    var re4 = new RegExp(“<span>(.*?)</span>”, “ig”);
    str = str.replace(re4, “<b>~ $1</b>”);
    divtao.innerHTML = str;
}catch(e){}
</script>

taotao_qq   改成自己QQ号码

taotao_num 表示显示的taotao数量

try代码里出现str=() 的部分都影响最后的输出str

对于我这样对javascript弱弱的人 只好依次尝试了

修改格式可以自己尝试

例如我的最后一个str=:

 str = str.replace(re4, ”    &nbsp; &nbsp;  &nbsp;   <b>$1</b>”);

发表在 未分类 | 留下评论

不会为讨好或炫耀写日志或留言

  恩,这是离开Qzone的原因,那里有种很怪的气氛。

发表在 未分类 | 留下评论