50分,求调!
查看原帖
50分,求调!
1572560
sxling58d8楼主2025/8/4 17:44
#include <iostream>
using namespace std;
int main(){
	int x,n,distance=0,delta=0;
	cin >> x >> n;
	switch (x){
		
		case 6: {
	      if ( n <= 1 ) {
			distance = 0;
		    cout << distance << endl;
		} else { 
		    if ( ( n - 1 ) % 7 <= 5 ){
			    delta = ( n - 1 ) % 7;
			    distance = delta * 250 + ( n - 1 ) / 7 * 5 * 250;
		        cout << distance << endl; 
		    } else {
		    	distance = ( n - 1 ) / 7 * 5 * 250 + 5 * 250;
		    	cout << distance << endl;
			} 
		}
			break;
		}//6完了 
		
		case 7:{
		  if ( n == 0 ) {
			distance = 0;
		    cout << distance << endl;
		} else { 
		    if ( n % 7 <= 5 ){
			    delta = n % 7;
			    distance = delta * 250 + n / 7 * 5 * 250; 
		        cout << distance << endl; 
			} else {
		    	distance = n / 7 * 5 * 250 + 5 * 250;
		    	cout << distance << endl;
			} 
		}
			
			break;
		}//7
		
		case 1:{
		  if ( n <= 4 ) {
			distance = ( n + 1 ) * 250;
		    cout << distance << endl;
		} else if ( n <= 6 ){
			distance = 5 * 250;
			cout << distance << endl;
		} else { 
		    if ( ( n - 6 ) % 7 <= 5 ){
			    delta = ( n - 6 ) % 7;
			    distance = delta * 250 + ( n - 6 ) / 7 * 5 * 250 + 5 * 250;
		    } else { distance = 5 * 250 + ( n - 6 ) / 7 * 5 * 250 + 5 * 250;
			}
			cout << distance  << endl;
		}
			break;
		}//1
		
		case 2:{
		  if ( n <= 3 ) {
			distance = ( n + 1 ) * 250;
		    cout << distance << endl;
		} else if ( n <= 5 ){
			distance = 4 * 250;
			cout << distance << endl;
		} else { 
		    if ( ( n - 5 ) % 7 <= 5 ){
			    delta = ( n - 5 ) % 7;
			    distance = delta * 250 + ( n - 5 ) / 7 * 5 * 250 + 4 * 250;
			} else { distance = 5 * 250 + ( n - 5 ) / 7 * 5 * 250 + 4 * 250;
			}
			cout << distance  << endl;
		}
			break;
	    }
		
	    case 3:{
		  if ( n <= 2 ) {
			distance = ( n + 1 ) * 250;
		    cout << distance << endl;
		} else if ( n <= 4 ){
			distance = 3 * 250;
			cout << distance << endl;
		} else { 
		    if ( ( n - 4 ) % 7 <= 5 ){
			    delta = ( n - 4 ) % 7;
			    distance = delta * 250 + ( n - 4 ) / 7 * 5 * 250 + 3 * 250;
			} else { distance = 5 * 250 + ( n - 4 ) / 7 * 5 * 250 + 3 * 250;
			}
			cout << distance  << endl;
		}
			break;
	    }
		
		case 4:{
		  if ( n <= 1 ) {
			distance = ( n + 1 ) * 250;
		    cout << distance << endl;
		} else if ( n <= 3 ){
			distance = 2 * 250;
			cout << distance << endl;
		} else { 
		    if ( ( n - 3 ) % 7 <= 5 ){
			    delta = ( n - 3 ) % 7;
			    distance = delta * 250 + ( n - 3 ) / 7 * 5 * 250 + 2 * 250;
			} else { distance = 5 * 250 + ( n - 3 ) / 7 * 5 * 250 + 2 * 250;
			}
			cout << distance  << endl;
		}
			break;
	    }
	    
	    case 5:{
		  if ( n <= 2 ) {
			distance = 1 * 250;
		    cout << distance << endl;
		} else { 
		    if ( ( n - 2 ) % 7 <= 5 ){
			    delta = ( n - 2 ) % 7;
			    distance = delta * 250 + ( n - 2 ) / 7 * 5 * 250 + 250;
			} else { distance = 5 * 250 + ( n - 2 ) / 7 * 5 * 250 + 250;
			}
			cout << distance  << endl;
		}
			break;
	    }
	}
	return 0;
}

小白一枚,大佬轻点喷,谢谢!

发之前看了几个大佬的帖子,发现居然二三十行就写出来了...orz。

打算一会去钻研一些各位大佬的写法。

就对于我的代码而言,我感觉我已经想得比较全面了,但是还是wa了一半!

想请问一下各位大佬我哪里不对,求指教T T,代码有点冗杂别嫌弃....。

2025/8/4 17:44
加载中...