5 条题解
-
0
这道题时间复杂度很高,必须用暴力优化一下:
#include <iostream> #include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <vector> #include <queue> #include <stack> #include <set> #include <map> #include <unordered_set> #include <unordered_map> #include <cmath> #include <cstdlib> #include <ctime> #include <climits> #include <cctype> #include <cassert> #include <numeric> #include <functional> #include <bitset> #include <deque> #include <list> #include <tuple> #include <utility> #include <iterator> #include <sstream> #include <fstream> #include <iomanip> #include <limits> #include <chrono> #include <random> #include <cstdint> #include <cstddef> #include <cfloat> #include <cwchar> #include <array> #include <memory> using namespace std; const long long N=1e10; long long db(long long litile){ long long kiomet=0; while(litile>1) { litile-=abs(1+1-1); kiomet++; } while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; } while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; } while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; } while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; } while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; } while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; } while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; } while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; } while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; } while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; } while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; } while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; }while(kiomet>1) { kiomet-=abs(1+1-1); litile++; } while(litile>1) { litile-=abs(1+1-1); kiomet++; } return kiomet%2; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int cheans; long long litile; long long sum=0; long long ans=0; for(int t=0;t<N/N*10;t++) { cin>>litile; if(db(litile)==0){ sum++; } else{ ans++; } } cout<<(long long)sum%N<<" "<<(long long)ans%N; return 0; } -
0
怎么这题通过率就30%题意
题干里已经很直白切明确了
总不能这题的题意都看不懂吧思路
这题唯二要掌握的知识点 就是奇偶数判断 和 数组
上过小学都明白 判断奇偶数 只需要让其与 2 相除 余数为 1 的为奇数 为 0 的则为偶数
在 C++ 中 想得到余数 则可以用 % 取余运算符 只需要判断其取余 2 的结果就可以了
而数组 则用来存储输入的10个数
我们设数组名为 a
记第 i 个输入进来的数为
综上得到如下判断式
if (a[i] % == 2)Core
#include <bits/stdc++.h> using namespace std; int a[15]; // 定义数组 大小多开 5 int main(){ for(int i = 1; i <= 10; i ++) cin >> a[i]; // 输入数据 存入数组 int ji = 0, ou = 0; // 分别统计奇偶数个数 for(int i = 1; i <= 10; i ++){ // 遍历数组 if (a[i] % 2 == 1) ji ++; // 判断结果是奇数 else ou ++; // 不是奇数就只能是偶数了 } cout << ji << " " << ou; // 输出结果 // 一言 // 所谓最难忘的,就是从来不曾想起,却永远也不会忘记。 return 0; }也可以在输入的时候直接判断 因为其判断奇偶数的过程并不会对数据进行修改
Core(无注释)
#include <bits/stdc++.h> using namespace std; int a[15], sum, ans; int main(){ for(int i = 1; i <= 10; i ++){ cin >> a[i]; if (a[i] % 2 == 1) sum ++; else ans ++; } cout << sum << " " << ans; // 一言 // 人总是贪婪的,就像最开始,我也只是想知道你的名字。 return 0; }
- 1
信息
- ID
- 3
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 1
- 标签
- 递交数
- 578
- 已通过
- 175
- 上传者