美团 整除7

include <bits/stdc++.h>
using namespace std;
unsigned  int _array[100005];
unsigned  int _array_2[11][7];
int main() {
 int num;
 cin>>num;
 long long  count = 0;
 for (int k = 0; k < num; ++k) {
 int tmep;
 scanf("%d",&_array[k]);
 int x = log10(_array[k])+1;
 int y = _array[k]%7;
 _array_2[x][y]++;
 }
 for (int i = 0; i < num; ++i) {
 int x = log10(_array[i])+1;
 int y = _array[i]%7;
 //找到位数
 _array_2[x][y]--;
 for (int j = 0; j < 11; ++j) {
 int  c = (long long )(y*pow(10,j))%7;
 count += _array_2[j][7-c];
 }
 _array_2[x][y]++;
printf("%d",count);
}
}
全部评论
#!/usr/bin/env python2 # -*- coding: utf-8 -*- n = int(raw_input()) k = [[0 for j in range(10)] for i in range(7)] for x in raw_input().split(): k[int(x)%7][len(x)] += 1 res = 0 for i in range(7): b = 0 for n in range(10): a = (7- i*10**n)%7 res += sum(k[i]) * k[a][n] if a == i: res -= k[a][n] print(res) 那我,只能碾压上面一波
点赞 回复 分享
发布于 2017-09-14 21:30
你这个复杂度没问题吗?
点赞 回复 分享
发布于 2017-09-14 21:29
代码渣渣就不说了,这个思路就是 以 12位例子 12 % 7 = 5 120%7 == 50%7 ,嗯,然后慢慢算 
点赞 回复 分享
发布于 2017-09-14 21:30

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务