1. 仔细读题:另外两张牌和的个位数即为你所获得的点数。对于Subtask 1,枚举即可。50 分。

  2. 考虑:取 \(n-2\) 张牌和取答案的 \(2\) 张牌本质是一样的。因为若取符合条件的 \(n-2\) 张牌的和 \(sum\ \text{mod}\ 10\)必然为 0 。所以双重循环枚举所有的牌两两相加,把它们模 10 的余数与总和的余数对比,相等则输出。注意到若总和模 10 为 0 ,则直接输出 10。时间复杂度 \(O(n^2)\) ,80 分

#include <iostream>
#include <cstdio>
//#include <algorithm> using namespace std; int n,a[1000001],sum;
bool flag=false; int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
sum+=a[i];
}
sum%=10;
if(sum==0){
printf("%d\n",10);
return 0;
}
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if((i!=j)&&((a[i]+a[j])%10==sum)){
printf("%d\n",(a[i]+a[j])%10);
return 0;
}
printf("%d\n",0);
return 0;
}
  1. 注意到一个性质:由于最后组成答案的只有两个数,且卡牌数值范围为 \(1\) ~ \(10\) ,也就说明答案只有可能是两个相同的数不同的数。于是自然产生一种思路:用类似计数排序的方法,设一个数组 \(t\) ,记录每个数出现的次数。最后枚举每个数,若相同,则判断这个数出现的次数是否大于等于 2 ,若不同,则看这两个数是否都出现过。时间复杂度 \(O(n)\) ,可通过所有测试点。
#include <iostream>
#include <cstdio>
//#include <algorithm> using namespace std; int n,a[1000001],sum,t[100000001]; int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
sum+=a[i];
t[a[i]]++;
}
sum%=10;
if(sum==0){
printf("%d\n",10);
return 0;
}
for(int i=1;i<=10;i++){
for(int j=1;j<=10;j++){
if((i==j)&&(t[i]>=2)&&((i+j)%10==sum)){
printf("%d\n",(i+j)%10);
return 0;
}
else
if((i!=j)&&(t[i]&&t[j])&&((i+j)%10==sum)){ //注意这里首先要判断是否相等。为什么?
printf("%d\n",(i+j)%10);
return 0;
}
}
}
printf("%d\n",0);
return 0;
}

最新文章

  1. OHSCE_V0.1.22 Beta,跨平台高可靠性通信框架
  2. c++友元函数
  3. WinRAR注册
  4. POJ3694 Network
  5. 必应缤纷桌面的必应助手-软件分析和用户市场需求之-----二.体验部分 Ryan Mao (毛宇11061171) (完整版本请参考团队博客)
  6. CFileDialog使用总结
  7. [Redux] Reducer Composition with combineReducers()
  8. 无线通信技术协议-Zigbee 3.0
  9. 【Nutch2.2.1基础教程之3】Nutch2.2.1配置文件
  10. NAS4Free 安装配置(五)配置SMB
  11. codeforces 464B Restore Cube
  12. Maven 中配置 Urlrewrite 基本配置
  13. 外网SSH访问内网LINUX的N种方法
  14. 张高兴的 Windows 10 IoT 开发笔记:使用 ADS1115 读取模拟信号
  15. spring boot跨域设置
  16. 双系统或三系统:Grub Rescue修复方法
  17. 二、vue之 使用vscode配置
  18. 如何确定windows启动类型是bios还是uefi
  19. Centos6 安装RabbitMq3.7.7
  20. BugPhobia团队篇章:团队管理与Github源代码管理说明

热门文章

  1. linux分区命令parted的用法
  2. 用C#调用外部DLL
  3. logging日志模块_python
  4. leetcode全部滑动窗口题目总结C++写法(完结)
  5. pybind11简介
  6. Dapper简介
  7. 1-Django2.2安装指南
  8. 从bbs.3dmgame.com与qq的登录解析oauth2.0协议
  9. spring(六):事务
  10. HTML的网页基本结构