PIXNET Logo登入

亂貼小站

跳到主文

請幫我記得,我還沒壞掉的樣子。

部落格全站分類:心情日記

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 10月 11 週五 201323:09
  • 魏小亮:參加編程競賽對實際工作的用處

來源:魏小亮的博客 (作者是Facebook的移動技術總監)、http://blog.jobbole.com/33834/
有不少的朋友問過這個問題:在中學裡面參加NOI,在大學參加ACM/ICPC,TopCoder,最後對實際工作究竟有多少用處?我把自己的一些理解總結了一下跟大家討論。
我是在94~96年參加NOI和集訓隊,99~2000年參加ACM/ICPC,2002左右玩了半年TopCoder,後來就很少關注編程競賽了,所以可能對近幾年競賽模式的變化不瞭解。另外我目前主要在工業界工作,所以“實際工作”主要指的是在IT工業界的技術型工作。
(繼續閱讀...)
文章標籤

和風信使 發表在 痞客邦 留言(0) 人氣(743)

  • 個人分類:CMD程式
▲top
  • 12月 23 週五 201106:58
  • [作業]作業系統實驗 Lab14

#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<sys/mman.h>
#include<sys/stat.h>
#include<unistd.h>
#include<fcntl.h>
#define FILE_LENGTH 10000

int main(int argc,char *argv[])
{
if(argc!=2)
{
printf("Usage: %s filename\n",argv[0]);
return 0;
}
int fd,count=0;
char *map_memory,*ca;

fd = open(argv[1], O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);

lseek(fd, FILE_LENGTH+1, SEEK_SET);
write(fd, "", 1);
lseek(fd, 0, SEEK_SET);
map_memory =(char*) mmap(0, FILE_LENGTH, PROT_WRITE, MAP_SHARED, fd, 0);
close(fd);

ca = map_memory;
while( FILE_LENGTH>count && fgets(ca,FILE_LENGTH-count,stdin)!=NULL )
{
int tmp = strlen(ca);
count += tmp;
ca += tmp;
}

munmap(map_memory, FILE_LENGTH);
return 0;
}
(繼續閱讀...)
文章標籤

和風信使 發表在 痞客邦 留言(0) 人氣(158)

  • 個人分類:CMD程式
▲top
  • 12月 16 週五 201111:38
  • [作業]作業系統實驗 Lab13

#include<stdio.h>
#include<unistd.h>
#include<fcntl.h>
#include<string.h>

struct flock* file_lock(short type,short whence)
{
static struct flock ret;
ret.l_type = type;
ret.l_start = 0;
ret.l_whence = whence;
ret.l_len = 0;
ret.l_pid = getpid();
return &ret;
}

int main()
{
printf("1.exclusive lock(write lock)\n");
printf("2.share lock(read lock)\n");
printf("Choose lock type -> ");
int ia;
scanf("%d",&ia);
int fd = open("lock.txt",O_RDWR|O_APPEND);
//printf("fd = %d\n",fd);
if(ia==1)
{
if(fcntl(fd, F_SETLK, file_lock(F_WRLCK, SEEK_SET))==0)
printf("F_WRLCK success.\n");
else
{
printf("F_WRLCK fail.\n");
return 0;
}
}
else
{
if(fcntl(fd, F_SETLK, file_lock(F_RDLCK, SEEK_SET))==0)
printf("F_RDLCK success.\n");
else
{
printf("F_RDLCK fail.\n");
return 0;
}
}
ia= 0;
do
{
printf("If you want to unlock file and end program,\n");
printf("please input 1 -> \n");
scanf("%d",&ia);
}while(ia!=1);
fcntl(fd, F_SETLK, file_lock(F_UNLCK, SEEK_SET));
close(fd);
}
(繼續閱讀...)
文章標籤

和風信使 發表在 痞客邦 留言(0) 人氣(296)

  • 個人分類:CMD程式
▲top
  • 12月 09 週五 201110:14
  • [作業]作業系統實驗 Lab12

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<sstream>
using namespace std;

int freeFrameList[] = {4,7,8,5,1,2,11,12,10,13,14,15};
int freeFrameCnt = 12, freeFrameIndex = 0;
string frame[16] = {"ee","","","ww","","","gg","","","ff","","","","","",""};
string processA[] = {"ab","ef","cd","gh","xa","ta","ab","cg"};
string processB[] = {"rx","yy","zz","ww","mr","mk","fn","zx"};

void show_all(bool ba=false)
{
if(!ba)
{
for(int i=0;i<79;i++)
cout<<"=";
cout<<endl;
}
printf("\n%s\n","ProcessA");
for(int i=0;i<8;i++)printf(" %-2d",i);
puts("");
for(int i=0;i<8;i++)printf("%3s",processA[i].c_str());
printf("\n\n%s\n","ProcessB");
for(int i=0;i<8;i++)printf(" %-2d",i);
puts("");
for(int i=0;i<8;i++)printf("%3s",processB[i].c_str());
printf("\n\n%s\n","freeFrameList");
for(int i=freeFrameIndex;i<freeFrameCnt;i++)printf("%3d",freeFrameList[i]);
printf("\n\n%s\n","frame");
for(int i=0;i<16;i++)printf(" %-2d",i);
puts("");
for(int i=0;i<16;i++)printf("%3s",frame[i].c_str());
puts("");puts("");
}

int main()
{
string sa;
show_all(true);
for(int i=0;i<freeFrameCnt && cout<<"Enter next (ProcessName/page No) -> " && getline(cin,sa);i++)
{
sa.erase(0,sa.size()-3);
istringstream ssin(sa);
char ca;
int ia;
ssin>>ca>>ia;
switch(ca)
{
case 'a':case 'A':
frame[freeFrameList[freeFrameIndex++]] = processA[ia];
break;
case 'b':case 'B':
frame[freeFrameList[freeFrameIndex++]] = processB[ia];
break;
}
show_all();
}
}
/*
ProcessA 0
ProcessB 1
ProcessA 4
ProcessB 5
ProcessB 7
ProcessA 7
ProcessA 2
ProcessB 6
*/
(繼續閱讀...)
文章標籤

和風信使 發表在 痞客邦 留言(0) 人氣(95)

  • 個人分類:CMD程式
▲top
  • 11月 18 週五 201104:20
  • [作業]作業系統實驗 Lab9

/*
Step1: Using the fork() function to create a new process.

Step2: Using command line to kill the process.
kill -kill 1899

Step3: Repeat step1 and use system calls to kill process.

*/
#include<stdio.h>
#include<unistd.h>

int main()
{
pid_t newpid = fork();
if(newpid==0)
{
for(;;)
pause();
}
printf("pid = %d\n",newpid);
wait(NULL);
printf("Child process is finished.\n");
}
(繼續閱讀...)
文章標籤

和風信使 發表在 痞客邦 留言(0) 人氣(116)

  • 個人分類:CMD程式
▲top
  • 11月 04 週五 201102:52
  • [作業]作業系統實驗8

/*
Compile Command:
gcc -o a a.c -pthread
*/
#include<pthread.h>
#include<stdio.h>
#include<stdlib.h>

void *PrintHello(void *arg)
{
printf("This is Hello Thread\n");
printf("Thread ID:%lu\n",pthread_self());
printf("Argument: %d\n",(int)arg);
//printf("Argument: %d\n",*(int*)arg);
pthread_exit(NULL);
}

int main()
{
pthread_t thread;
int rc,t=100;
rc = pthread_create( &thread, NULL, PrintHello, (void*)t);
if(rc)
{
printf("ERROR: return code from pthread_create() is %d\n",rc);
exit(-1);
}
rc = pthread_join( thread, NULL);
if(rc)
{
printf("ERROR: return code from pthread_join() is %d\n",rc);
exit(-1);
}
return 0;
}
(繼續閱讀...)
文章標籤

和風信使 發表在 痞客邦 留言(1) 人氣(309)

  • 個人分類:CMD程式
▲top
  • 10月 16 週日 201113:47
  • NCPC 2011 (尚在新增中)

// WA
// BY taichunmin
// NCPC 2011 pb
#include<iostream>
#include<fstream>
#include<sstream>
using namespace std;
int va[1000000];
int va_c;
int main()
{
//freopen("pb.in","r",stdin);
int ta;
cin>>ta;
string sa;
while(ta--)
{
int ia,ib;
cin>>ia;
cin.get();
getline(fin,sa);
va_c=0;
istringstream ssin(sa);
while(ssin>>ib)
{
bool ba=true;
for(int k=0;k<va_c;k++)
if(va[k]>=ib)
{
va[k]=ib;
ba=false;
break;
}
if(ba)va[va_c++]=ib;
}
cout<<va_c<<endl;
}
return 0;
}
(繼續閱讀...)
文章標籤

和風信使 發表在 痞客邦 留言(0) 人氣(65)

  • 個人分類:CMD程式
▲top
  • 9月 28 週三 201122:18
  • [比賽]20110928_ITSA月賽8th

20110928-2.jpg#include<iostream>
using namespace std;
int main()
{
int t1,ia,va[50][2];
long long oa,ob;
cin>>t1;
while(t1--)
{
cin>>ia;
oa=0;
for(int i=0;i<ia;i++)
cin>>va[i][0]>>va[i][1];
for(int i=0;i<ia;i++)
for(int j=i+1;j<ia;j++)
{
ob=(((long long)va[i][0])-va[j][0])*(va[i][1]-va[j][1]);
if(ob<0)ob=-ob;
if(ob>oa)oa=ob;
}
cout<<oa<<endl;
}
}


#include<stdio.h>
#include<stdlib.h>
struct Queue{
int x, y;
}Queue[81];
int N = 3, Map[9][9], Qt, Find;
int Check(int x, int y, int Num)
{
int a, b;
for(a=0;a<N*N;a++)
if(Map[x][a] == Num && y!=a) return 0;
for(a=0;a<N*N;a++)
if(Map[a][y] == Num && x!=a) return 0;
int xx=x/N*N, yy=y/N*N;
for(a=0;a<N;a++)
for(b=0;b<N;b++)
if(Map[xx+a][yy+b] == Num && (xx+a!=x && yy+b!=y)) return 0;
return 1;
}
void DFS(int Now)
{
if(Find==1) return;
int a, b;
if(Now == Qt) {
Find=1;
for(a = 0; a < 9;puts(""), a++) {
for(b = 0; b < 8; b++) {
printf("%d ", Map[a][b]);
}
printf("%d", Map[a][8]);
}
return;
}
for(a = 1; a <= 9; a++)
if(Check(Queue[Now].x, Queue[Now].y, a)==1)
{
Map[Queue[Now].x][Queue[Now].y]=a;
DFS(Now+1);
Map[Queue[Now].x][Queue[Now].y]=0;
}
}
int main()
{
int a, b, No;
while(scanf("%d",&Map[0][0])==1) {
Qt=0, No=0;
if(Map[0][0]==0)
Queue[Qt].x=0, Queue[Qt].y=0, Qt++;
for(a = 0; a < 9; a++)
for(b = 0; b < 9; b++)
{
if(a == 0 && b == 0) continue;
scanf("%d",&Map[a][b]);
if(Map[a][b]==0)
Queue[Qt].x=a, Queue[Qt].y=b, Qt++;
}
Find=0;
if(No==0) DFS(0);
if(Find==0) puts("NO SOLUTION");
}
return 0;
}
/*
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
*/


/**********************************************************************************/
/* Problem: c121 "Fibonacci Freeze" from ACM 495 */
/* Language: CPP (1469 Bytes) */
/* Result: AC judge by zeroserver@ZeroJudge */
/* Author: taichunmin at 2009-02-06 13:13:37 */
/**********************************************************************************/
#include<iostream>
using namespace std;
long long ia[93]={0,1};//int 47 long long 93
string sa[4910];
string add(string fsa,string fsb)
{
string tsa;
int strl=fsa.size(),stra=fsa.size(),strb=fsb.size();
if(fsb.size()>strl)strl=fsb.size();
strl++;
tsa.resize(strl);
fsa.resize(strl);
fsb.resize(strl);
for(int i=0;i<strl;i++)tsa[i]='0';
for(int i=stra;i<strl;i++)fsa[i]='0';
for(int i=strb;i<strl;i++)fsb[i]='0';
bool ba=true;
for(int i=0;i<strl-1;i++)
tsa[i]+=fsa[i]-'0'+fsb[i]-'0';
for(int i=0;i<strl-1;i++)
if(tsa[i]>'9')
{
if(i==strl-2)ba=false;
tsa[i+1]+=(tsa[i]-'0')/10;
tsa[i]=(tsa[i]-'0')%10+'0';
}
if(ba)tsa.resize(strl-1);
return tsa;
}
int main()
{
//freopen("testdata\\pro19.in","r",stdin);
//freopen("pro19.out","w",stdout);
for(int i=2;i<93;i++)ia[i]=ia[i-1]+ia[i-2];
long long ib=ia[91];
while(ib>0)
{
sa[0]+=(char)(ib%10+'0');
ib/=10;
}
ib=ia[92];
while(ib>0)
{
sa[1]+=(char)(ib%10+'0');
ib/=10;
}
sa[0]=add(sa[0],sa[1]);
sa[1]=add(sa[0],sa[1]);
for(int i=2;i<4910;i++)sa[i]=add(sa[i-2],sa[i-1]);
while(cin>>ib)
{
if(ib<=92)cout<<ia[ib]<<endl;
else
{
for(int i=sa[ib-93].size()-1;i>-1;i--)cout<<sa[ib-93][i];
cout<<endl;
}
}
//system("pause");
}


#include<stdio.h>
#include<stdlib.h>
int Ans[100];
void DFS(int n, int last, int now) {
if(n < 0)
return;
int i;
if(n == 0) {
for(i = 0; i < now-1; i++)
printf("%d ", Ans[i]);
printf("%d\n", Ans[now-1]);
return;
}
for(i = last+1; i <= n; i++)
Ans[now] = i, DFS(n-i, i, now+1);
}
int main() {
int n;
while(scanf("%d", &n) == 1) {
DFS(n, 0, 0);
}
return 0;
}


#include<iostream>
#include<sstream>
using namespace std;
int va[10000];
int va_c;
int main()
{
int ia,ib,itotal;
string sa;
while(cin>>ia)
{
getline(cin,sa);
va_c=itotal=0;
istringstream ssin(sa);
while(ssin>>ib)va[va_c++]=ib;
for(int i=0;i<va_c;i++) itotal+=va[i];
itotal=ia-itotal-va_c+1;
//cout<<"itotal="<<itotal<<endl;
bool firsta=true,firstb=true;
for(int i=0;i<va_c;i++)
{
if(firsta)firsta=false;
else cout<<" 0";
for(int j=0;j<va[i];j++)
{
if(firstb)firstb=false;
else cout<<' ';
cout<<((j<itotal)?0:1);
}
}
for(int i=0;i<itotal;i++)cout<<" 0";
cout<<endl;
}
}
(繼續閱讀...)
文章標籤

和風信使 發表在 痞客邦 留言(0) 人氣(57)

  • 個人分類:CMD程式
▲top
  • 7月 09 週六 201111:05
  • 一直想寫的數獨程式

這個是在我期末那周拚出來的數獨遊戲
其實很久以前就很想寫樹讀了
但是一來沒有什麼壓力
二來C++也不是合寫這種
三來我Visual C++不熟悉,寫不出這種東西
所以一直拖到了現在才寫出數獨遊戲!!
另外 裡面還有一些附屬檔案
我就放到下面的這個連結給大家抓吧
(繼續閱讀...)
文章標籤

和風信使 發表在 痞客邦 留言(2) 人氣(2,701)

  • 個人分類:CMD程式
▲top
  • 6月 20 週一 201101:58
  • b060. 5. 快遞服務


內容
:


(繼續閱讀...)
文章標籤

和風信使 發表在 痞客邦 留言(0) 人氣(59)

  • 個人分類:CMD程式
▲top
12...10»

文章搜尋

facebook

最新文章

  • 努力加油振作起來
  • 魏小亮:參加編程競賽對實際工作的用處
  • 大開學長 Drupal 版型初分享
  • 那些 Aaron Swartz 用生命告訴網路社會的事
  • 前往台北
  • (尚未設定標題)
  • 沒想到我還是遇到了多層次傳銷
  • [CentOS]對於鳥哥,真的不知道是該愛該恨
  • [作業]作業系統實驗 Lab14
  • [作業]作業系統實驗 Lab13

文章分類

toggle 資訊工程 (4)
  • 伺服器 (6)
  • CMD程式 (100)
  • 動態網頁 (10)
  • 其他資料 (34)
toggle 這就是我 (3)
  • 生活雜記 (226)
  • 進度日記 (1)
  • 重要紀錄 (0)
toggle 休息時間 (2)
  • 輕鬆一下 (14)
  • 遊戲亂記 (13)
toggle 作品分享 (1)
  • Easy_run_class (7)
  • 未分類文章 (1)

熱門文章

  • (12,935)system函數 - pause
  • (23,672)system函數 - cls
  • (5,851)資料結構題目
  • (75)武霸天下幫派簡介
  • (52,915)float跟double小知識
  • (1,821)豬心實驗
  • (152,073)橋牌規則
  • (6,782)末日危城2 - 攻略分享
  • (13,527)如何移除開機時會自動啟動的軟體?
  • (25,886)system函數 - 總覽

麻吉交流

和風信使
暱稱:
和風信使
分類:
心情日記
好友:
累積中
地區:

誰來我家

參觀人氣

  • 本日人氣:
  • 累積人氣:

支援SyntaxHighlighter程式碼顏色標示