9 条题解
-
4
#include<bits/stdc++.h> using namespace std; int main() { string s,p[900],h; int k=-1,sum=0,l=0,flag=0; while(cin>>s) { int len=s.length(); // cout<<s[4]<<endl; for(int i=0;i<len;i++) { if(s[i]>='A'&&s[i]<='Z')s[i]=s[i]-'A'+'a'; else if(s[i]=='.')flag=1;//标点特殊处理 }//大小写转换 // cout<<s<<endl; if(flag==1) { // cout<<1; for(int i=0;i<len-1;i++)//只录入标点之前的字母 h+=s[i]; p[++k]=h; // cout<<h; } else p[++k]=s; sum++;//单词数累加 if(k>=1) { // cout<<k<<endl; for(int i=0;i<k;i++) { if(p[k]==p[i]) { sum--;//减去重复单词 // cout<<1<<" "; p[k]=l++;//更改重复单词 防止再一次计数 } } } } // for(int i=0;i<=k;i++)cout<<p[i]<<endl; // if(sum==5)cout<<4; // else cout<<sum; }
-
2
全是黑科技
#include<bits/stdc++.h> using namespace std; set<string> s1; int main() { string a; while(cin>>a){ for(int i=0;i<a.length();i++) {if(a[i]=='.')a.pop_back();}//去除'.' transform(a.begin(),a.end(),a.begin(),::tolower);//变小写 s1.insert(a); } int ans=s1.size(); cout <<ans; return 0; }
-
1
set是个好东西(
#include <bits/stdc++.h> using namespace std; set<string> dict; int main() { string s; getline(cin,s); for(int i=0;i<s.length();i++) if(s[i]>='A' && s[i]<='Z') s[i] = s[i]-'A'+'a'; string s1 = ""; for(int i=0;i<s.length()-1;i++) s1+=s[i]; stringstream ss(s1); string t; while(ss>>t) dict.insert(t); cout << dict.size(); return 0; }
-
1
压行版 共28行
#include<bits/stdc++.h> using namespace std; int main() { string s,p[900],h; int k=-1,sum=0,l=0,flag=0; while(cin>>s){ int len=s.length(); for(int i=0;i<len;i++){ if(s[i]>='A'&&s[i]<='Z')s[i]=s[i]-'A'+'a'; else if(s[i]=='.')flag=1;//标点特殊处理 }//大小写转换 if(flag==1){ for(int i=0;i<len-1;i++)//只录入标点之前的字母 h+=s[i]; p[++k]=h; }else p[++k]=s; sum++;//单词数累加 if(k>=1){ for(int i=0;i<k;i++){ if(p[k]==p[i]){ sum--;//减去重复单词 p[k]=l++;//更改重复单词 防止再一次计数 } } } } cout<<sum; }
-
1
using namespace std; const int R=100000; string s[R],t[R]; int main() { string a; char q; int sum=0,num=0,s1=0,len,s2=0,l; while(cin>>a) { l=a.length(); q=a[l-1]; for(int i=0;i<l;i++){ if(a[i]>='A'&&a[i]<='Z') { a[i]=a[i]-'A'+'a'; } } s[sum]=a; sum++; if(q=='.') { break; } } string e,s3; e=s[sum-1]; len=e.length(); for(int i=0;i<len-1;i++) { s3=s3+e[i]; }; s[sum-1]=s3; for(int i=0;i<=sum-1;i++) { for(int k=0;k<i;k++) { if(s[i]==s[k]) { num++; } } if(num==0) { s1++; } num=0; } cout<<s1; return 0; }
-
0
C++ :
#include <iostream> #include <cstdio> #include <cstring> #include <stdlib.h> using namespace std; int main() { int b,m,sum=0; int **pp; scanf("%d",&b); pp=(int **)malloc((b+1)*sizeof(int)); scanf("%d",&m); for(int i=1;i<b+1;i++){ pp[i]=(int *)malloc((m+1)*sizeof(int)); } for(int i=1;i<b+1;i++){ for(int j=1;j<m+1;j++){ scanf("%d",&pp[i][j]); if(pp[i][j]>0 && pp[i][j]<=9){ sum++; } } } printf("%d\n",sum); for(int i=1;i<b+1;i++){ for(int j=1;j<m+1;j++){ if(pp[i][j]>0 && pp[i][j]<=9){ printf("%d %d %d\n",i,j,pp[i][j]); } } } free(pp); return 0; }
- 1
信息
- ID
- 94
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 905
- 已通过
- 214
- 上传者