- 论坛徽章:
- 0
|
原帖由 zyzng 于 2009-9-21 21:40 发表
以下问题:
1.C语言程序也用FILE?可以贴出C的程序?
2.试下块读取.
RPG/ILE RPG速度是比C快,这是测试过的
C程序是在windows下用VC写的。
运行的时候使用了参数“<1.txt >2.txt”来定位两个文件。1.txt是输入的文件,2.txt是用来输出的文件。
#include <stdio.h>
int a[30001];
int b[30001];
int c[30001];
int w[30001];
int n;
void move(int i,int j){
int x=i,y=j;
n=0;
while(x!=a[x]){
w[n]=x;
n++;
x=a[x];
}
while(y!=a[y]) y=a[y];
if(x==y) return;
a[x]=y;
b[x]=c[y];
c[y]+=c[x];
for(i=n-1;i>=0;i--){
b[w[i]]+=b[a[w[i]]];
a[w[i]]=y;
}
}
void count(int i){
int x=i,y=i;
n=0;
while(a[x]!=a[a[x]]){
w[n]=x;
n++;
x=a[x];
}
for(i=n-1;i>=0;i--){
b[w[i]]+=b[a[w[i]]];
a[w[i]]=a[x];
}
printf("%dn",b[y]);
}
int main(){
int i,n;
char o;
int x,y;
for(i=1;i<=30000;i++){
a[i]=i;b[i]=0;c[i]=1;
}
scanf("%d",&n);
while(n--){
scanf("n%c",&o);
if(o=='M'){
scanf("%d %d",&x,&y);
move(x,y);
}else if(o=='C'){
scanf("%d",&x);
count(x);
}
}
return 0;
} |
|
|