//Bai 1 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20];
FILE *f;
void ReadData(void){
int i,j,k=0;char *s,*s1;
f=fopen("dothi.in","r");
fgets(s,255,f);
n=atoi(s);
for (i=1;i<=n;i++) {
for (j=1;j<=n;j++) a[i][j]=0;
chuaxet[i]=1;}
for (i=1;i<=n;i++){
fgets(s,255,f);
for (j=0;j<=strlen(s);j++)
if (s[j]==' ' || s[j]=='\n' || s[j]=='\t' || s[j]=='\r' || s[j]=='\0')
{if (k>0)
{s1[k]='\0';k=0;a[i][atoi(s1)]=1;}}
else s1[k++]=s[j];
}
fclose(f);
}
void DFS(int u){
int v;
fprintf(f,"%3d",u);
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (a[u][v]==1 && chuaxet[v]) DFS(v);
}
void main(void){
int i;
clrscr();
ReadData();
f=fopen("ketqua.out","w");
for (i=1;i<=n;i++)
if (chuaxet[i]) DFS(i);
fclose(f);
printf("Da xong");
getch();
}
//Bai 2 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],solt=0,trace[20];
FILE *f;
void ReadData(void){
int i,j;
f=fopen("F:\dothi.in","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++) chuaxet[i]=1;
for (i=1;i<=n;i++){
for (j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
}
fclose(f);
}
void DFS(int u){
int v;
fprintf(f,"%3d",u);
chuaxet[u]=0;
trace[u]=solt;
for (v=1;v<=n;v++)
if (a[u][v]==1 && chuaxet[v]) DFS(v);
}
void WriteData(void){
int i,j;
f=fopen("F:\ketqua.out","w");
fprintf(f,"%d",solt);
for (i=1;i<=solt;i++){
fprintf(f,"%s","\n");
for (j=1;j<=n;j++)
if (trace[j]==i) fprintf(f,"%3d",j);
}
fclose (f);
}
void main(void){
int i;
clrscr();
ReadData();
for (i=1;i<=n;i++)
if (chuaxet[i]) { solt++; DFS(i);}
WriteData();
printf("Da xong");
getch();
}
//Bai 3 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],s,t,truoc[20];
FILE *f;
void ReadData(void){
int i,j;
f=fopen("F:\dothi3.in","r");
fscanf(f,"%d%d%d",&n,&s,&t);
for (i=1;i<=n;i++) {chuaxet[i]=1;truoc[i]=0;}
for (i=1;i<=n;i++){
for (j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
}
fclose(f);
}
void DFS(int u){
int v;
//fprintf(f,"%3d",u);
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (a[u][v]==1 && chuaxet[v]) {truoc[v]=u;DFS(v);}
}
void WriteData(void){
int i,j;
f=fopen("F:\ketqua3.out","w");
if (truoc[t]==0) fprintf(f,"%s","Do thi khong lien thong");
else {
fprintf(f,"%3d",t);i=t;
while (truoc[i])
{fprintf(f,"%3d",truoc[i]);i=truoc[i];}
}
fclose (f);
}
void main(void){
clrscr();
ReadData();
DFS(s);
WriteData();
printf("Da xong");
getch();
}
//Bai 4 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
struct DSCanh {
int Dau;
int Cuoi;};
int a[20][20],n,chuaxet[20],m,Socanh=0;
DSCanh canh[50],cay[50];
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d%d",&n,&m);
for (i=1;i<=n;i++) {chuaxet[i]=1;
for (j=1;j<=n;j++) a[i][j]=0;}
for (i=1;i<=m;i++) fscanf(f,"%d%d",&canh[i].Dau,&canh[i].Cuoi);
fclose(f);
for (i=1;i<=m;i++)
{a[canh[i].Dau][canh[i].Cuoi]=1;a[canh[i].Cuoi][canh[i].Dau]=1;
}
}
void Cay_khung(int u){
int v;
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (a[u][v]==1 && chuaxet[v])
{Socanh++;cay[Socanh].Dau=u;cay[Socanh].Cuoi=v;Cay_khung(v);}
}
void WriteData(void){
int i;
f=fopen("ketqua.out","w");
if (Socanh!=n-1) fprintf(f,"%s","Do thi khong lien thong");
else {fprintf(f,"%3d%3d",n,Socanh);
for (i=1;i<=Socanh;i++)
fprintf(f,"%s%3d%3d","\n",cay[i].Dau,cay[i].Cuoi);}
fclose (f);
}
void main(void){
clrscr();
ReadData();
Cay_khung(1);
WriteData();
printf("Da xong");
getch();
}
//Bai 5 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],Sodinh=0,Solt=0,Soltcau;
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++){
for (j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
}
fclose(f);
}
void DFS(int u){
int v;
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (a[u][v]==1 && chuaxet[v]) DFS(v);
}
int CanhCau(int i){
int j;
for (j=1;j<=n;j++) chuaxet[j]=1;
chuaxet[i]=0;
Soltcau=0;
for (j=1;j<=n;j++)
if (chuaxet[j]) {Soltcau++;DFS(j);}
if (Soltcau>Solt) return(1);
return(0);
}
void main(void){
int i;
clrscr();
ReadData();
for (i=1;i<=n;i++) chuaxet[i]=1;
for (i=1;i<=n;i++)
if (chuaxet[i]) {Solt++;DFS(i);}
f=fopen("ketqua.out","w");
fprintf(f,"\n");
for (i=1;i<=n;i++)
if (CanhCau(i)) {Sodinh++;fprintf(f,"\n%3d",i);}
rewind(f);
fprintf(f,"%d",Sodinh);
printf("Da xong");
getch();
}
//Bai 6 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],b[20][20],n,chuaxet[20],Socanh=0,Solt=0,Soltcanh;
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++){
for (j=1;j<=n;j++) fscanf(f,"%d",&b[i][j]);
}
fclose(f);
}
void DFS(int u){
int v;
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (a[u][v]==1 && chuaxet[v]) DFS(v);
}
int CanhCau(int i,int j){
int u,v;
for (u=1;u<=n;u++) chuaxet[u]=1;
for (u=1;u<=n;u++)
for (v=1;v<=n;v++) a[u][v]=b[u][v];
a[i][j]=0;a[j][i]=0;
Soltcanh=0;
for (u=1;u<=n;u++)
if (chuaxet[u]) {Soltcanh++;DFS(u);}
if (Soltcanh>Solt) return(1);
return(0);
}
void main(void){
int i,j;
clrscr();
ReadData();
for (i=1;i<=n;i++) chuaxet[i]=1;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++) a[i][j]=b[i][j];
for (i=1;i<=n;i++)
if (chuaxet[i]) {Solt++;DFS(i);}
f=fopen("ketqua.out","w");
fprintf(f,"\n");
for (i=1;i<=n-1;i++)
for (j=i+1;j<=n;j++)
if (b[i][j])
if (CanhCau(i,j)) {Socanh++;fprintf(f,"\n%3d%3d",i,j);}
rewind(f);
fprintf(f,"%d",Socanh);
printf("Da xong");
getch();
}
//Bai 7 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],q[20];
FILE *f;
void ReadData(void){
int i,j,k=0;char *s,*s1;
f=fopen("dothi.in","r");
fgets(s,255,f);
n=atoi(s);
for (i=1;i<=n;i++) {
for (j=1;j<=n;j++) a[i][j]=0;
chuaxet[i]=1;}
for (i=1;i<=n;i++){
fgets(s,255,f);
for (j=0;j<=strlen(s);j++)
if (s[j]==' ' || s[j]=='\n' || s[j]=='\t' || s[j]=='\r' || s[j]=='\0')
{if (k>0)
{s1[k]='\0';k=0;a[i][atoi(s1)]=1;}}
else s1[k++]=s[j];
}
fclose(f);
}
void BFS(int u){
int s,v,dau,cuoi;
chuaxet[u]=0;
dau=1;cuoi=1;q[dau]=u;
while (dau<=cuoi){
v=q[dau];
fprintf(f,"%3d",v);
dau++;
for (s=1;s<=n;s++)
if (a[v][s] && chuaxet[s])
{q[++cuoi]=s;chuaxet[s]=0;}
}
}
void main(void){
int i;
clrscr();
ReadData();
f=fopen("ketqua.out","w");
for (i=1;i<=n;i++)
if (chuaxet[i]) BFS(i);
fclose(f);
printf("Da xong");
getch();
}
//Bai 8 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],q[20];
FILE *f;
void ReadData(void){
int i,j,k=0;char *s,*s1;
f=fopen("dothi.in","r");
fgets(s,255,f);
n=atoi(s);
for (i=1;i<=n;i++) {
for (j=1;j<=n;j++) a[i][j]=0;
chuaxet[i]=1;}
for (i=1;i<=n;i++){
fgets(s,255,f);
for (j=0;j<=strlen(s);j++)
if (s[j]==' ' || s[j]=='\n' || s[j]=='\t' || s[j]=='\r' || s[j]=='\0')
{if (k>0)
{s1[k]='\0';k=0;a[i][atoi(s1)]=1;}}
else s1[k++]=s[j];
}
fclose(f);
}
void BFS(int u){
int s,v,dau,cuoi;
chuaxet[u]=0;
dau=1;cuoi=1;q[dau]=u;
while (dau<=cuoi){
v=q[dau];
fprintf(f,"%3d",v);
dau++;
for (s=1;s<=n;s++)
if (a[v][s] && chuaxet[s])
{q[++cuoi]=s;chuaxet[s]=0;}
}
}
void main(void){
int i;
clrscr();
ReadData();
f=fopen("ketqua.out","w");
for (i=1;i<=n;i++)
if (chuaxet[i]) BFS(i);
fclose(f);
printf("Da xong");
getch();
}
//Bai 9 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],s,t,truoc[20],q[20];
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d%d%d",&n,&s,&t);
for (i=1;i<=n;i++) {chuaxet[i]=1;truoc[i]=0;}
for (i=1;i<=n;i++){
for (j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
}
fclose(f);
}
void BFS(int u){
int s,v,dau,cuoi;
chuaxet[u]=0;
dau=1;cuoi=1;q[dau]=u;
while (dau<=cuoi){
v=q[dau];
fprintf(f,"%3d",v);
dau++;
for (s=1;s<=n;s++)
if (a[v][s] && chuaxet[s])
{q[++cuoi]=s;truoc[s]=v;chuaxet[s]=0;}
}
}
void WriteData(void){
int i,j;
f=fopen("ketqua.out","w");
if (truoc[t]==0) fprintf(f,"%s","Do thi khong lien thong");
else { fprintf(f,"%3d",t);i=t;
while (truoc[i])
{fprintf(f,"%3d",truoc[i]);i=truoc[i];}
}
fclose (f);
}
void main(void){
clrscr();
ReadData();
BFS(s);
WriteData();
printf("Da xong");
getch();
}
//Bai 10 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],Sodinh=0,Solt=0,Soltcau,q[20];
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++){
for (j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
}
fclose(f);
}
void BFS(int u){
int s,v,dau,cuoi;
chuaxet[u]=0;
dau=1;cuoi=1;q[dau]=u;
while (dau<=cuoi){
v=q[dau];
dau++;
for (s=1;s<=n;s++)
if (a[v][s] && chuaxet[s])
{q[++cuoi]=s;chuaxet[s]=0;}
}
}
int DinhCau(int i){
int j;
for (j=1;j<=n;j++) chuaxet[j]=1;
chuaxet[i]=0;
Soltcau=0;
for (j=1;j<=n;j++)
if (chuaxet[j]) {Soltcau++;BFS(j);}
if (Soltcau>Solt) return(1);
return(0);
}
void main(void){
int i;
clrscr();
ReadData();
for (i=1;i<=n;i++) chuaxet[i]=1;
for (i=1;i<=n;i++)
if (chuaxet[i]) {Solt++;
BFS(i);}
f=fopen("ketqua.out","w");
fprintf(f,"\n");
for (i=1;i<=n;i++)
if (DinhCau(i)) {Sodinh++;fprintf(f,"\n%3d",i);}
rewind(f);
fprintf(f,"%d",Sodinh);
printf("Da xong");
getch();
}
//Bai 11 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],b[20][20],n,chuaxet[20],Socanh=0, Solt=0,Soltcanh,q[20];
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++){
for (j=1;j<=n;j++) fscanf(f,"%d",&b[i][j]);
}
fclose(f);
}
void BFS(int u){
int s,v,dau,cuoi;
chuaxet[u]=0;
dau=1;cuoi=1;q[dau]=u;
while (dau<=cuoi){
v=q[dau];
dau++;
for (s=1;s<=n;s++)
if (a[v][s] && chuaxet[s])
{q[++cuoi]=s;chuaxet[s]=0;}
}
}
int CanhCau(int i,int j){
int u,v;
for (u=1;u<=n;u++) chuaxet[u]=1;
for (u=1;u<=n;u++)
for (v=1;v<=n;v++) a[u][v]=b[u][v];
a[i][j]=0;a[j][i]=0;
Soltcanh=0;
for (u=1;u<=n;u++)
if (chuaxet[u]) {Soltcanh++;BFS(u);}
if (Soltcanh>Solt) return(1);
return(0);
}
void main(void){
int i,j;
clrscr();
ReadData();
for (i=1;i<=n;i++) chuaxet[i]=1;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++) a[i][j]=b[i][j];
for (i=1;i<=n;i++)
if (chuaxet[i]) {Solt++;BFS(i);}
f=fopen("ketqua.out","w");
fprintf(f,"\n");
for (i=1;i<=n-1;i++)
for (j=i+1;j<=n;j++)
if (b[i][j])
if (CanhCau(i,j)) {Socanh++;fprintf(f,"\n%3d%3d",i,j);}
rewind(f);
fprintf(f,"%d",Socanh);
printf("Da xong");
getch();
}
//Bai 12 ( Phan test Do thi)
//Bai 13 ( Phan test Do thi)
//Bai 14 ( Phan test Do thi)
//Bai 15 ( Phan test Do thi)
//Bai 16 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],d[20],truoc[20],bd,kt;
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d%d%d",&n,&bd,&kt);
for (i=1;i<=n;i++){
chuaxet[i]=1;
for (j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
}
fclose(f);
}
void Duong_di(int s){
int i,ok=1,min,vt;
d[s]=0;chuaxet[s]=0;
for (i=1;i<=n;i++)
if (chuaxet[i]) {d[i]=a[s][i];truoc[i]=s;}
while(ok){
min=32000;vt=-1;
for (i=1;i<=n;i++)
if (chuaxet[i])
if (d[i]<min && d[i]) {min=d[i];vt=i;}
if (vt==-1) ok=0;
else { chuaxet[vt]=0;
for (i=1;i<=n;i++)
if (chuaxet[i] && a[vt][i]!=0)
if (d[i]>d[vt]+a[vt][i] || d[i]==0)
{d[i]=d[vt]+a[vt][i];truoc[i]=vt;}
}
}
}
void WriteData(void){
int i,dd[20],dem;
if (d[kt]==0) {printf("Khong co duong di tu %d den %d",bd,kt);return;}
i=kt;dem=1;dd[1]=i;
while (truoc[i]!=bd)
{dem++;dd[dem]=truoc[i];i=truoc[i];}
printf("Duong di tu %d den %d:\n%d",bd,kt,bd);
for (i=dem;i>=1;i ) printf(" >%d",dd[i]);
}
void main(void){
int i,j;
clrscr();
ReadData();
Duong_di(bd);
WriteData();
getch();
}
//Bai 17 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20];
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++){
chuaxet[i]=1;
for (j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
}
fclose(f);
}
void DFS(int u){
int v;
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (chuaxet[v] && a[u][v]) DFS(v);
}
int Lienthong(void){
int i;
DFS(1);
for (i=1;i<=n;i++)
if (chuaxet[i]) return(0);
return(1);
}
int Kt_Euler(void){
int i,s,j;
for (i=1;i<=n;i++) {
s=0;
for (j=1;j<=n;j++) s=s+a[i][j];
if (s%2==1) return(0);}
return(1);
}
void Chutrinh(int u){
int S[50],i,j,top,CE[50],dem=0,v;
top=1;
S[top]=u;
while (top>0){
v=S[top];
i=0;
for (j=1;j<=n;j++)
if (a[v][j]) {i=j;break;}
if (i>0){top=top+1;S[top]=i;a[v][i]=0;a[i][v]=0;}
else {top ;dem++;CE[dem]=v;}
}
for (i=dem;i>1;i ) printf("%d >",CE[i]);
printf("%d",CE[1]);
}
void main(void){
int i,j;
clrscr();
ReadData();
if (Lienthong()==0) printf("Do thi khong lien thong");
else if (Kt_Euler()==0) printf("Do thi lien thong nhung khong co chu trinh");
else Chutrinh(3);
getch();
}
//Bai 18 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20];
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++){
chuaxet[i]=1;
for (j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
}
fclose(f);
}
void DFS(int u){
int v;
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (chuaxet[v] && a[u][v]) DFS(v);
}
int Lienthong(void){
int i;
DFS(1);
for (i=1;i<=n;i++)
if (chuaxet[i]) return(0);
return(1);
}
int Kt_1_2_Euler(void){
int i,s,j,dem=0;
for (i=1;i<=n;i++) {
s=0;
for (j=1;j<=n;j++) s=s+a[i][j];
if (s%2==1) dem++;}
if (dem==2) return(1);
return(0);
}
void Duongdi(int u){
int S[50],i,j,top,CE[50],dem=0,v;
top=1;
S[top]=u;
while (top>0){
v=S[top];
i=0;
for (j=1;j<=n;j++)
if (a[v][j]) {i=j;break;}
if (i>0){top=top+1;S[top]=i;a[v][i]=0;a[i][v]=0;}
else {top ;dem++;CE[dem]=v;}
}
for (i=dem;i>1;i ) printf("%d >",CE[i]);
printf("%d",CE[1]);
}
void main(void){
int i,j;
clrscr();
ReadData();
if (Lienthong()==0) printf("Do thi khong lien thong");
else if (Kt_1_2_Euler()==0) printf("Do thi lien thong nhung khong co duong di");
else Duongdi(1);
getch();
}
//Bai 19 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20];
FILE *f;
void ReadData(void){
int i,j,k=0;char *s,*s1;
f=fopen("dothi.in","r");
fgets(s,255,f);
n=atoi(s);
for (i=1;i<=n;i++) {
for (j=1;j<=n;j++) a[i][j]=0;
chuaxet[i]=1;}
for (i=1;i<=n;i++){
fgets(s,255,f);
for (j=0;j<=strlen(s);j++)
if (s[j]==' ' || s[j]=='\n' || s[j]=='\t' || s[j]=='\r' || s[j]=='\0')
{if (k>0)
{s1[k]='\0';k=0;a[i][atoi(s1)]=1;}}
else s1[k++]=s[j];
}
fclose(f);
}
void DFS(int u){
int v;
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (a[u][v]==1 && chuaxet[v]) DFS(v);
}
int Kt_Lienthong(void){
int i;
DFS(1);
for (i=1;i<=n;i++)
if (chuaxet[i]) return(0);
return(1);
}
int So_dinh_le(void){
int i,j,s,Dinhle=0;
for (i=1;i<=n;i++){
s=0;
for (j=1;j<=n;j++) s=s+a[i][j];
if (s%2==1) Dinhle++;
}
return(Dinhle);
}
void main(void){
int i;
clrscr();
ReadData();
if (Kt_Lienthong()==0) printf("Do thi khong lien thong");
else { i=So_dinh_le();
switch (i){
case 0: {printf("Do thi la Euler");break;}
case 2: {printf("Do thi la nua Euler");break;}
default:printf("Do thi khong la Euler/nua Euler");
}
}
getch();
}
//Bai 20 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
#include <io.h>
int n,B;
int a[100],x[100],c[100],luu[100],Kyluc=0,Ok=1;
FILE *f;
void Writedata(void) {
int i,ok=0;
f=fopen("Output.txt","w");
for (i=1;i<=n;i++)
if (luu[i]==1) {ok=1;break;}
if (ok) { fprintf(f,"%d\n",Kyluc);
for (i=1;i<=n;i++) fprintf(f,"%3d",luu[i]);}
else fprintf(f,"Khong co phuong an thoa man");
fclose(f);
}
void Sinh_xau(void){
int i,j;
i=n;
while (x[i]==1) {x[i]=0;i ;}
if (i>0)
{x[i]=1;
for (j=i+1;j<=n;j++) x[j]=0;}
else Ok=0;
}
void Readdata(void){
int i;
f=fopen("Input.txt","r");
if (f==NULL)
{printf("Khong co file du lieu dau vao");return;}
fscanf(f,"%d",&n);
fscanf(f,"%d",&B);
for (i=1;i<=n;i++) fscanf(f,"%d",&c[i]);
for (i=1;i<=n;i++) fscanf(f,"%d",&a[i]);
fclose(f);
}
void Luu_ky_luc(int s){
int i;
Kyluc=s;
for (i=1;i<=n;i++) luu[i]=x[i];
}
void Duyet(void){
int i,S;
for (i=1;i<=n;i++) x[i]=0;
for (i=1;i<=n;i++) luu[i]=0;
while (Ok) {
S=0;
for (i=1;i<=n;i++) S=S+a[i]*x[i];
if (S<=B) {
S=0;
for (i=1;i<=n;i++) S=S+c[i]*x[i];
if (S>Kyluc) Luu_ky_luc(S);
}
Sinh_xau();
}
}
void main(void) {
int i;
clrscr();
Readdata();
Duyet();
Writedata();
printf("Da xong.Ket qua ra trong file Output.txt");
getch();
}
//Bai 21 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],Socanh=0,Solt=0,d[20],dem=0;
FILE *f;
void ReadData(void){
int i,j;
f=fopen("vohuong.in","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++){ chuaxet[i]=1;
for (j=1;j<=n;j++) {fscanf(f,"%d",&a[i][j]);
if (a[i][j]==1) Socanh++; }
}
fclose(f);
Socanh=Socanh/2;
}
void DFS(int u){
int v;
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (a[u][v]==1 && chuaxet[v]) DFS(v);
}
void Khoitaolai(void){
for (int i=1;i<=n;i++) chuaxet[i]=1;
}
int CanhCau(void){
int u,v,k,s;
for (u=1;u<=n;u++)
for (v=1;v<=n;v++)
if (a[u][v]){
Khoitaolai();
a[u][v]=0;a[v][u]=0;
k=0;
for (s=1;s<=n;s++)
if (chuaxet[s]) {k++;DFS(s);}
if (k>Solt) return(1);
a[u][v]=1;a[v][u]=1;
}
return(0);
}
void Dinhchieu(int u){
int v;
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (chuaxet[v] && a[u][v])
{fprintf(f,"\n%d%5d",u,v);a[u][v]=0;a[v][u]=0;Dinhchieu(v);}
}
void WriteData(void){
int i,j;
f=fopen("Ketqua.out","w");
if (CanhCau()>0) {fprintf(f,"Vo nghiem");}
else { Khoitaolai();
fprintf(f,"%d",Socanh);
Dinhchieu(1);
for (i=1;i<n;i++)
for (j=i+1;j<=n;j++)
if (a[i][j]) fprintf(f,"\n%d%5d",j,i);
}
fclose(f);
}
void main(void){
int i,j;
clrscr();
ReadData();
for (i=1;i<=n;i++)
if (chuaxet[i]) {Solt++;DFS(i);}
WriteData();
printf("Da xong");
getch();
}
//xu ly van ban
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
#include <io.h>
#include <string.h>
struct Tu
{ int Solan;
char Xau[30];};
Tu Tudien[1000];
int n;
FILE *f;
int Tim_tu(char *S){
int i;
for (i=1;i<=n;i++)
if (strcmp(S,Tudien[i].Xau)==0) return(i);
return(n+1);
}
void Readdata(void){
int i;char *s;
f=fopen("Input.txt","r");
if (f==NULL)
{printf("Khong co file du lieu dau vao");return;}
while (!feof(f)){
fscanf(f,"%s",s);
i=Tim_tu(s);
if (i>n) {n++;strcpy(Tudien[i].Xau,s);Tudien[i].Solan=1;}
else Tudien[i].Solan++;
}
fclose(f);
}
void Writedata(void){
int i;
f=fopen("Output.txt","w");
fprintf(f,"%d\n",n);
for (i=1;i<=n;i++) fprintf(f,"%s %d\n",Tudien[i].Xau,Tudien[i].Solan);
fclose(f);
}
void main(void) {
int i;
clrscr();
n=0;
Readdata();
Writedata();
printf("Da xong.Ket qua ra trong file Output.txt");
getch();
}
//Giao hai van ban
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
#include <io.h>
#include <string.h>
struct Tu
{ int Solan;
char Xau[30];};
Tu Tudien[1000];
int n;
FILE *f;
int Tim_tu(char *S){
int i;
for (i=1;i<=n;i++)
if (strcmp(S,Tudien[i].Xau)==0) return(i);
return(n+1);
}
void Readdata(void){
int i;char *s;
f=fopen("Input.txt","r");
if (f==NULL)
{printf("Khong co file du lieu dau vao");return;}
while (!feof(f)){
fscanf(f,"%s",s);
i=Tim_tu(s);
if (i>n) {n++;strcpy(Tudien[i].Xau,s);Tudien[i].Solan=1;}
else Tudien[i].Solan++;
}
fclose(f);
}
void Writedata(void){
int i;
f=fopen("Output.txt","w");
fprintf(f,"%d\n",n);
for (i=1;i<=n;i++) fprintf(f,"%s %d\n",Tudien[i].Xau,Tudien[i].Solan);
fclose(f);
}
void main(void) {
int i;
clrscr();
n=0;
Readdata();
Writedata();
printf("Da xong.Ket qua ra trong file Output.txt");
getch();
}