Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
自己试了几组测试数据通过了~怎么到这里还是不通过啊~很久没编了~哎~ 哪位大侠帮忙看看~那个边值问题没考虑到而导致这里不通过的。 自己的源程序: #include<stdio.h> main() { long x, y, m, n, l, dist, k, t; int flag; do { scanf("%ld %ld %ld %ld %ld", &x, &y, &m, &n, &l); } while( x == y ); // 这里是以防输入x = y的语句,要求重新输入。 if( m > n ) flag = 1; else if( m == n ) flag = 0; else flag = -1; // 设置标志。 switch( flag ) { case 0: printf( "Impossible\n" ); case 1: if( x > y ) dist = l - ( x - y ); else dist = y - x; for( k = 0; k < ( m - n ); k++ ) { if( ( dist + k * l ) % ( m - n ) == 0 ) { t = ( dist + k * l ) / ( m - n ); printf( "%ld\n", t ); break; } if( k == ( m - n - 1 ) ) printf( "Impossible\n" ); } case -1: if( x > y ) dist = x - y; else dist = l - ( y - x ); for( k = 0; k < ( n - m ); k++ ) { if( ( dist + k * l ) % ( n - m ) == 0 ) { t = ( dist + k * l ) / ( n - m ); printf( "%ld\n", t ); break; } if( k == ( m - n - 1 ) ) printf( "Impossible\n" ); } } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator