(百例编程)55.哪个大夫哪天值班

题目:医院有A、B、C、D、E、F、G七位大夫,在一星期内(星期一至星期天)每人要轮流值班一天。现在已知:

A大夫比C大夫晚一天值班;
D大夫比E大夫晚二天值班;
B大夫比G大夫早三天值班;
F大夫的值班日在B和C大夫的中间,且是星期四;

请确定每天究竟是哪位大夫值班?

/*题目:医院有A、B、C、D、E、F、G七位大夫,在一星期内(星期一至星期天)
每人要轮流值班一天。现在已知:A大夫比C大夫晚一天值班;D大夫比E大夫晚二
天值班;B大夫比G大夫早三天值班;F大夫的值班日在B和C大夫的中间,且是星
期四;请确定每天究竟是哪位大夫值班?
*/
//by as1138 2011-04-15

#include <iostream>
using namespace std;

int main(void)
{
	int a,b,c,d,e,f,g;
	f = 4;
    for(a=1;a!=8;++a)
	 for(b=1;b!=8;++b)
	  for(c=1;c!=8;++c)
	   for(d=1;d!=8;++d)
		for(e=1;e!=8;++e)
		 for(g=1;g!=8;++g)
			 if ((a!=b&&a!=d&&a!=e&&a!=g&&a!=f)&&
				 (b!=c&&b!=d&&b!=e&&b!=f)&&
				 (c!=d&&c!=e&&c!=g&&c!=f)&&
				 (d!=g&&d!=f)&&
				 (e!=g&&e!=f)&&
				 (g!=f)&&
				 (a-c==1&&d-e==2&&g-b==3)&&
				 ((f>b&&f<c)||(f<b&&f>c))
				 )
			 {
				 cout<<"A医生应该值星期"<<a<<endl;
				 cout<<"B医生应该值星期"<<b<<endl;
				 cout<<"C医生应该值星期"<<c<<endl;
				 cout<<"D医生应该值星期"<<d<<endl;
				 cout<<"E医生应该值星期"<<e<<endl;
				 cout<<"F医生应该值星期"<<f<<endl;
				 cout<<"G医生应该值星期"<<g<<endl;
			 }

      
    return 1;
}


你可能感兴趣的:(编程,c)