感觉这个一定要记下来涨教训啊。一开始找规律找错了。判断超麻烦还各种WA。浪费N个小时啊。。人家几行就A了。太弱,
#include <map> #include <set> #include <list> #include <cmath> #include <ctime> #include <deque> #include <stack> #include <queue> #include <cctype> #include <cstdio> #include <string> #include <vector> #include <climits> #include <cstdlib> #include <cstring> #include <iostream> #include <algorithm> #define LL long long #define PI 3.1415926535897932626 using namespace std; int gcd(int a, int b) {return a % b == 0 ? b : gcd(b, a % b);} long long p, q, t, tqm; int tmp[15]; long long solve ( long long n ) { long long sum = 0; while ( n ) { sum += ( n / 10 ) * 45; sum += tmp[n % 10]; n /= 10; } return sum; } int main ( ) { tmp[0] = 0; for ( int i = 1; i <= 9; ++i ) tmp[i] = i + tmp[i - 1]; while ( scanf ( "%lld%lld", &p, &q ) == 2 ) { if ( p < 0 && q < 0 ) break; if ( p > q ) tqm = p, p = q, q = tqm; printf ( "%lld\n", solve ( q ) - solve ( p - 1 ) ); } return 0; }
时间: 2024-10-25 08:50:16