NC215159. MapReduce!
描述
大数据(Big Data),是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代》中大数据指不用随机分析法(抽样调查)这样捷径,而采用所有数据进行分析处理。大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。
大数据作为一项我校全体学生都熟练运用的技术,同样也以近乎100%的几率出现在了大家提交的PPT和项目计划书中,因此我们也需要进行更加高强度的训练。
众所周知,大数据处理的数据容量一般以TB作为最小单位,但由于我们自主研发的先进技术形成的技术堡垒,我们经常可以在几M的数据上或者几百行的Excel结构化数据项目中见到大数据的影子,同时虽然大家都没使用Spark、MapReduce等通用框架,但还是能完美满足需求。
现在有一个创新创业团队遇到了一个很严重的技术难题,他们发现他们的大规模分布式数据库中有大量的“异常数据对”,数据库中的数据都是长度不超过10000的字符串,如果对于两个字符串s和t,他们其中一个在倒置后与另一个相等,那么我们就定义s和t是“异常数据对”。
但是由于他们数据库装的东西占用总容量高达25M,实在太多了,没有办法很好的处理,你可以帮帮他们吗?
输入描述
输入多组数据。第一行输入一个整数T,表示接下来有T组数据。每组数据是两行,每行一个字符串分别表示s和t。
输出描述
示例1
输入:
4 chuang chuang xin nix chuang gnauhc ye ye
输出:
TAT QAQ QAQ TAT
C(clang11) 解法, 执行用时: 1ms, 内存消耗: 368K, 提交时间: 2020-12-20 21:03:11
#include<stdio.h> #include<string.h> #define N 10000 int main() { int T,i,j,n; char a[N],b[N],c; scanf("%d", &T); while(T>0) { T--; scanf("%s", &a); scanf("%s", &b); n=strlen(a); for(i=0;i<n/2;i++) { c=a[i]; a[i]=a[n-i-1]; a[n-i-1]=c; } if(strcmp(a,b)==0) { printf("QAQ\n"); } else { printf("TAT\n"); } } return 0; }
C++(clang++11) 解法, 执行用时: 3ms, 内存消耗: 376K, 提交时间: 2020-12-20 20:47:55
#include<bits/stdc++.h> using namespace std; int main() { string s; string h; int n; cin>>n; while(n--) { cin>>s; cin>>h; reverse(s.begin(),s.end()); if(s==h) cout<<"QAQ"<<endl; else cout<<"TAT"<<endl; } }
Python3(3.9) 解法, 执行用时: 18ms, 内存消耗: 2812K, 提交时间: 2020-12-20 14:48:08
n=int(input()) for i in range(n): s1=input() s2=input() s2=s2[::-1] if(s1==s2): print("QAQ") else: print("TAT")