北京大学在线在线提交系统(Online Judge)Problem 1000(就是输入2个整数然后输出其和)新解 :网络流

gnuljf 2008-02-24 05:58:12
Problem 1000是很简单的一个问题,就是要求从标准输入设备输入2个整数然后在标准输出设备上输出它们的和。
(问题原地址:http://acm.pku.edu.cn/JudgeOnline/problem?id=1000)
下面是该问题讨论区发表的一个帖子给出一个解决办法,实在看不明白,有哪位高人来指点一下。
看该贴的原标题,这个解法跟网络相关?要熟悉了网络编程后才能弄懂?

//Problem 1000新解 :网络流
#include<stdio.h>
#include<string.h>

int c[4][4],f[4][4];
bool b[4];
int ans;

void init()
{
int a,b;
scanf("%d%d",&a,&b);
c[0][1]=a;c[1][3]=a;
c[0][2]=b;c[2][3]=b;
}

bool find(int x)
{
if(x==3)return true;
for(int i=0;i<4;i++)
{
if(f[x][i]<c[x][i]&&!b[i])
{
b[i]=true;
if(find(i))
{
f[x][i]++;f[i][x]--;
return true;
}
}
}
return false;
}

void process()
{
ans=0;
memset(b,false,sizeof(b));
b[0]=true;
while(find(0))
{
memset(b,false,sizeof(b));
b[0]=true;
ans++;
}
}

int main()
{
init();
process();
//if(ans!=a+b)ans=a+b;
printf("%d\n",ans);
return 0;
}
...全文
125 1 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
chenzhiyubuaa 2008-02-24
#include <stdio.h>

int main(void)
{
int a, b;
while(scanf("%d %d\n", &a, &b) == 2)
printf("%d\n", a+b);

return 0;
}
  • 打赏
  • 举报
回复
相关推荐
发帖
C++ 语言
加入

6.2w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
申请成为版主
帖子事件
创建了帖子
2008-02-24 05:58
社区公告
暂无公告