CodeVs 1135 && noip 2011 Day1-2 选择客栈
2014-10-21 10:23
351 查看
纯粹是一道模拟题目,直接枚举60+, 剪一下枝100+.......
/* noip 2011 day 1-2暴力60+; */ #include<cstdio> #include<algorithm> #include<cstdlib> #include<cstring> #include<cmath> using namespace std; FILE *fin = fopen("hotel.in", "r"); FILE *fout = fopen("hotel.ans", "w"); const int M=200005; struct kz { int color; int cost; }; kz s[M]; int n , k, p; long long ans=0; int main() { memset(s, -1, sizeof(s)); fscanf(fin, "%d %d %d", &n, &k, &p); for (int i=1; i<=n; i++) { fscanf(fin, "%d %d", &s[i].color, &s[i].cost); } for (int i=1; i<=n; i++) { int kk=s[i].color; int temp=s[i].cost; for (int j=i+1; j<=n; j++){ temp=min(temp, s[j].cost); if (kk==s[j].color && temp<=p) { ans++; fprintf(fin, "%d %d\n", s[i].cost, s[j].cost); } } } fprintf(fout, "%lld\n", ans); return 0; }
/* noip 2011 day 1-2剪枝100+; */ #include<cstdio> #include<algorithm> #include<cstdlib> #include<cstring> #include<cmath> using namespace std; FILE *fin = fopen("hotel.in", "r"); FILE *fout = fopen("hotel.ans", "w"); const int M=200005; struct kz { int color; int cost; int back; }; kz s[M]; int color[M]; int yz[M]; int n , k, p; long long ans=0; void solve() { for (int i=1; i<=n; i++) { int kk=s[i].color; int temp=s[i].cost; for (int j=i+1; j<=n; j++){ temp=min(temp, s[j].cost); if (temp<=p && s[j].color==kk){ ans+=s[j].back+1; //printf("%d ", ans); //printf("%d\n", s[j].back); break; } } } } void init() { memset(yz, 0, sizeof(yz)); memset(color, 0, sizeof(color)); memset(s, -1, sizeof(s)); fscanf(fin, "%d %d %d", &n, &k, &p); for (int i=1; i<=n; i++) { fscanf(fin, "%d %d", &s[i].color, &s[i].cost); color[s[i].color]++; }; for (int i=1; i<=n; i++) s[i].back=color[s[i].color]-(++yz[s[i].color]); /*for (int i=1; i<=n; i++) printf("%d", s[i].back); printf("\n");*/ } int main() { init(); solve(); fprintf(fout, "%lld\n", ans); return 0; }
相关文章推荐
- 【NOIP2011TG】【OJ4366】【codevs1135】选择客栈
- 【noip2011】codevs1135选择客栈
- 【noip2011】【codevs1135】选择客栈
- Noip[2011]Codevs[1135]洛谷[1311]选择客栈 清流解法,二分+线段树+树状数组
- codevs 1135 选择客栈 2011年NOIP全国联赛提高组
- NOIP2011复赛提高组day1(A:铺地毯 B:选择客栈 C:mayan游戏)
- NOIP2011 提高组 复赛 day1 hotel 选择客栈
- [NOIP2011] day1铺地毯,选择客栈,Mayan游戏
- [Wikioi 1135][NOIP 2011提高组]选择客栈(疑难题)
- 选择客栈(codevs 1135)
- 【枚举+优化】【NOIP2011提高组Day1】选择客栈
- NOIP&nbsp;2011&nbsp;提高组第一试&nbsp;选择客栈
- Noip 2011 解题报告 Day1 (铺地毯,选择客栈,Mayan 游戏)
- NOIP2011 day1 选择客栈
- 选择客栈 NOIP2011 提高组 Day1 T2
- 【枚举】【前缀和】【NOIP2011提高组Day1】选择客栈
- CodeVs 1134 && noip 2011 Day1 铺地毯
- JZOJ【NOIP2011DAY1】选择客栈(hotel)
- NOIP2011(DAY1)解题报告(C/C++)(铺地毯)(选择客栈)(Mayan 游戏)
- NOIP 2011 day1 选择客栈